Skip to content

docs(#945): correct actor-model postcard — result-reporting + taxonomy/citation accuracy#1358

Merged
vybe merged 2 commits into
devfrom
AndriiPasternak31/issue-945
Jun 27, 2026
Merged

docs(#945): correct actor-model postcard — result-reporting + taxonomy/citation accuracy#1358
vybe merged 2 commits into
devfrom
AndriiPasternak31/issue-945

Conversation

@AndriiPasternak31

@AndriiPasternak31 AndriiPasternak31 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #945 — and finally links it to a PR.

The #945 deliverable (docs/planning/ACTOR_MODEL_POSTCARD.md) already shipped to dev in commit bc7e5fd2, but it rode in via PR #1293 (the #946 pull-pilot PR), which linked Closes #946 and never #945. So #945 stayed open. A line-by-line audit against the issue ACs + referenced design docs + the live codebase confirms the postcard satisfies every acceptance criterion (envelope fields, per-kind payloads, typed reply terminal-reason, result-reporting reframe, both-way cross-refs, BacklogService backlog_metadata compatibility) — but surfaced one factual error and several citation/count nits, fixed here.

Changes (docs-only, 3 files)

ACTOR_MODEL_POSTCARD.md

  1. Factual fixschedule_execution_completed was described as "never emitted." It is emitted by the scheduler (src/scheduler/service.py, several _publish_event sites) for schedule-triggered runs; it's simply not consumed by any agent-facing/MCP/frontend path and not emitted on the agent→agent MCP path the experiment: pull-coordination pilot — route MCP chat_with_agent through the agent queue #946 pilot uses. The polling conclusion is unchanged — only the supporting claim is corrected.
  2. Enum mapping — pin the shipped TaskExecutionErrorCode ({TIMEOUT, CAPACITY, AUTH, BILLING, AGENT_ERROR, NETWORK, CIRCUIT_OPEN, RECONCILED, LEASE_EXPIRED}) and make explicit that the contract adds OOM/MAX_TURNS on top, so the divergence is intentional rather than ambiguous.
  3. Citation fixsession_id unifies demotion-map security: implement safe tar extraction with symlink/hardlink validation #8fix: Add ARM64 Alpine compatibility for frontend Docker build #12 (was security: implement safe tar extraction with symlink/hardlink validation #8feat: SMARTS trading pipeline with Telegram notifications and Miro visualization #13); feat: SMARTS trading pipeline with Telegram notifications and Miro visualization #13 inject_result is causation_id (already stated above); dropped the non-existent field name continue_session.

ACTOR_MODEL_TASK_DEMOTION_MAP.md + TARGET_ARCHITECTURE.md
4. Stale field countParallelTaskRequest has 14 fields today (src/backend/models.py:97-112), not 15. The demotion map's own code block already listed 14. Fixed the prose counts ("13 of its 14 optional", "13 silent siblings"), the stale line-ref (:84-99:97-112), and the TARGET_ARCHITECTURE.md mirror of the claim.

Verification

  • git diff touches only the three planning docs.
  • grep -rn schedule_execution_completed src/ confirms the scheduler emitters; TaskExecutionErrorCode members match the added mapping line; ParallelTaskRequest field count verified at src/backend/models.py:97-112 (14).
  • Docs-only — no code, no migrations, no Dockerfile surface; no test/verify-local run required.

🤖 Generated with Claude Code

AndriiPasternak31 and others added 2 commits June 26, 2026 22:19
…uracy

Audit-driven corrections to the actor-model postcard (the deliverable for
#945, which originally landed via PR #1293/#946 with no #945 linkage):

- Fix factual error: schedule_execution_completed IS emitted by the
  scheduler (src/scheduler/service.py) for schedule-triggered runs, but no
  agent-facing path consumes it and it's not emitted on the agent->agent MCP
  path the #946 pilot uses. Prior text wrongly said "never emitted"; the
  polling conclusion is unchanged.
- Pin the shipped TaskExecutionErrorCode enum explicitly and note the
  contract adds OOM/MAX_TURNS on top, so the divergence is intentional.
- Fix demotion-map citation: session_id unifies #8-#12 (not #8-#13);
  #13 inject_result is causation_id; drop the non-existent "continue_session".

Closes #945

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The model has 14 fields today (src/backend/models.py:97-112), not 15 —
the demotion map's own code block already listed 14. Fix the prose counts
("13 of its 14 [optional]", "13 silent siblings"), the stale line-ref
(:84-99 -> :97-112), and the TARGET_ARCHITECTURE mirror of the claim.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@AndriiPasternak31
AndriiPasternak31 marked this pull request as ready for review June 26, 2026 21:25
@github-actions

Copy link
Copy Markdown

⚠️ Nightly unit-suite check skipped — merge conflict against dev.

Resolve by running git merge dev locally and pushing the result. The next nightly run will re-test once the conflict is gone.

@vybe vybe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ /validate-pr — APPROVE

Pure docs correction (3 files, docs/planning/*). Closes #945 (type-docs, same-repo → auto-promotes to status-in-dev on merge). No code, no security/packaging surface. Corrects postcard result-reporting + stale ParallelTaskRequest field count (15→14). All 4 required checks green.

@vybe
vybe merged commit 0fdaff3 into dev Jun 27, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants