Skip to content

Verify row 8 judge/native Verdict on the copied bus - #2116

Closed
trissim wants to merge 43 commits into
fix/parity-family-afrom
fix/parity-verdict
Closed

trissim wants to merge 43 commits into
fix/parity-family-afrom
fix/parity-verdict

Conversation

@trissim

@trissim trissim commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Row 8: verdicts

Head: f0900066c38fdc4e94da9e2d71e9ebddb09dca35
Base: fix/parity-family-a at 9243f5845e6468c5c1f85c94fbeb85082edb86a5, including its rebase onto main and both CLI-field/time-boundary corrections.

Superseded by family-A integration in #2101 at e686e0fcd1abd97fa074dd4a44bcfe994485a5c3. Not merged to main or installed.

Integrated result (5984)

Read the retained p301/catalog-verdict-live.json and p301/verdict-family.json: row8 passed all four real current/native accepted/send-back paths. Git object comparison confirms the verdict implementation, its tests and generated plan are byte-identical to this worker head; row8's declaration is retained unchanged (the rows file only adds the independent story comparison). This is integration-owner execution, not an independent rerun by this worker.

#2101 remains draft/held. Its tools ratchet is0; its source check ended in a mypy2.3.0 internal error at rows.py:180, so there is no clean integrated source-check claim. The prior actor-specific and default-reader failures below remain historical observations, not proof of a global store repair.

Implementation and ownership

  • Row 8 declares comparison = VerdictComparison.read once; no row verify() forwarder or shared-dispatch change.
  • Four independent LifecycleRun copies compare accepted/send-back through the original current judge and native CommsVerdictTool.
  • Each copy executes the real pinned Pi SDK edit tool and stores its actual result using SessionManager. The original Edit.unjudged reader must find exactly that fresh call.
  • Controlled fresh tool-request envelopes are verification input, not genuine model/provider output. No provider request, fabricated native result, replacement native owner or original-session write.
  • VerdictMutation owns the observed deltas; VerdictObservation inherits the existing LifecycleObservation proof behavior. The old parallel case validator and boolean-state DTO were removed.
  • Existing native owners retain Goal/strike mutation and committed-history visibility. Consumers use Goals.goal_history, not a second interpretation of internal journal tags.
  • The shared LifecycleRun.invoke_command owns process launch/expiry. Node receives the copied project and package.node_environment(...) explicitly; ChildOutcome.successful owns outcome interpretation.
  • No config.cli, hhmm, deleted deadline() helper, compatibility reader, extra copier, native pin, checker, baseline or installation change.
  • Corrected row 8's declaration/generated prose: current judge already invokes the native verdict owner, not a competing verdicts.jsonl store.

Actual results

Current executable-code artifacts: /home/ts/.cache/agent-scratch/pi-cn-phase2/verdict-main-*; final ratchets: verdict-final-main-*. The final amendment only changes a comment; ast.dump confirms executable AST equality with tested head3255cd338.

  • Actual row-8 run fails before creating an order/verdict, in CheckRoot._session -> source.reading -> TypedStore.require_schema: external_transcripts.sqlite3 differs from its declaration. No store was altered and no fallback reader was added. This matches the independently reported integration blocker for row 30.
  • Focused/regression batch: 90 passed, 1 failed. Sole failure is withdrawal demanding installed evidence. It was reproduced independently on parent c474d9f95; the retained repair belongs to pi-toad-cancel/P287: gate stale and unplanned commander work; reconcile merged deliveries #2073. It is not a new row-8 regression.
  • Final-head separate tools/source ratchets: 0 / 0 against9243f5845; positive deltas, introduced findings and introduced sites are all empty. No checker modification. The earlier comment-word finding was corrected in its owning commit, not suppressed.
  • Separately exercised the ordinary configured-commander CLI default (without the explicit pi-cn-phase2 caller). That also fails before selecting/copying a unit: MalformedRecord: Unknown StrikeTodo name: 'missed_first_call_strike' while reading canonical held orders. Evidence: verdict-default-live.err/.exit. This is a distinct read-compatibility blocker, not a passing replacement fixture.
  • Ruff and diff checks passed.

Earlier actual copied-bus acceptance, before the main/runtime rebase: head 4cc7691dfe79c20de709151331be65548b892b91, verdict-delivery-live.json, exit 0. All four real SDK-edit/current-or-native verdict journeys passed: accepted had one verdict/Todo revision, zero Goal revisions/history changes/strikes; send-back had one verdict/Todo revision, one Goal revision/committed history record/strike, with matching strike/verdict event and visible canonical feedback. Both kept Goal identity/state and retained the actual native return. This is not acceptance of the current rebased head.

The earlier whole verifier stopped on the existing capacity subprocess's 30-second timeout; no fresh whole-parity count is claimed. Existing Load ownership has the reproducer.

Source evidence

NRA Package/Repository census before and after: verdict-ast-before.txt, verdict-main-ast.txt. Python production/tests/tools/stack roots have zero parse omissions. Row 8 has one comparison declaration and zero verify forwarders. Actual source relationships inspected: original judge -> measured native call -> CommsVerdictTool -> Goals.send_back/SentBackOrderGoalAction; Goal/history and strike consumers remain their canonical owners. The Python AST does not prove dynamic Node import resolution or parse TS/C internals; SDK/tool/session APIs were inspected and the earlier original SDK journey ran successfully.

Remaining acceptance and resource custody

The integration owner has now demonstrated the four-path copied workflow on the integrated head. Remaining family checks and installed acceptance stay with that owner. This worker has not rerun its earlier actor-specific/default-reader failures and makes no claim that all retained histories are repaired. Original data must not be rewritten or bypassed by this comparison. Merger owns fresh installed acceptance; nothing was merged or installed here. No UNKNOWN input/edit was replayed; unrelated P310/P311 and withdrawal implementations remain with their named owners.

Owned prepared-artifact copy: /home/ts/wt/pi-cn-phase2--P297/stack/.pi-native-a0f57a811b47862f, copied unchanged from the existing owned P273 preparation. Retirement after integration is recorded in verdict-integration.md; existing shared native cache and donor are untouched. Test roots and logs are under /home/ts/.cache/agent-scratch/pi-cn-phase2; retire disposable test roots after their processes exit. Preserve P273's dirty handoff and all original sessions, stores and UNKNOWN inputs.

Assumed: controlled SDK input proves the affected tool/storage/Goal path, not provider behavior or installed UI acceptance. First push and draft PR opening met the requested 10/20-minute milestones.

@trissim
trissim force-pushed the fix/parity-verdict branch from 7e1d067 to ca5cf1e Compare October 20, 2026 03:41
@trissim
trissim force-pushed the fix/parity-verdict branch 3 times, most recently from 70388b9 to 4cc7691 Compare October 20, 2026 04:11
@trissim
trissim force-pushed the fix/parity-family-a branch from 9731501 to f0ef11b Compare October 20, 2026 04:25
@trissim
trissim force-pushed the fix/parity-verdict branch from 4cc7691 to 77920d5 Compare October 20, 2026 04:27
@trissim
trissim force-pushed the fix/parity-verdict branch from 77920d5 to 3255cd3 Compare October 20, 2026 04:43
@trissim
trissim force-pushed the fix/parity-verdict branch from 3255cd3 to f090006 Compare October 20, 2026 04:46
@trissim
trissim force-pushed the fix/parity-family-a branch from 0f1efaa to 28053b8 Compare October 20, 2026 04:48
@trissim

trissim commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #2101 at e686e0f: the verdict implementation, tests and generated plan are byte-identical to f090006, and row8 retains its single comparison declaration. Read the integration-owner artifacts: all four real edit/verdict paths pass. This is copied-workflow acceptance, not main merge or installation. The integrated source check hit a mypy internal error; #2101 remains draft/held. No independent rerun or global retained-store repair is claimed.

@trissim trissim closed this Oct 20, 2026
@trissim
trissim deleted the fix/parity-verdict branch October 20, 2026 10:39
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.

1 participant