Skip to content

Registered source treatment at the integrated main baseline

Current runtime baseline: 60d833b13c85135587b725013b247e827663ffb9 (2026-10-13). This updates the existing #6270 inventory after the typed-failure, selected-work, legacy-work-basis and reserved-value changes reached main. The production loopx/, apps/ and packages/ trees in this source-evidence candidate are identical to that main; only its existing witnesses and records are added. The staged scope revision remains the acceptance boundary. 26 rows inventoried is not 26 formal producer proofs or tracker closure. #6270 merged as 1c2542df730e51fd50c892a1236e1b7166768a7b (2026-10-14); final owner closeout on one revision is still open, and the integrated readback at the end of this record is a candidate for it. The original three Host-ACK fixture failures were repaired on main through #6344; #6285 merged separately as 5ea7497b52f4b094ee2e4528f92bf69b934a25ee (2026-10-13) and was never a merge prerequisite for those same cases.

The registry still contains 26 entries, including task_lease_lifecycle_operation in place of retired lease_action. F1/F2 remain 6/26: five kernel entries and the settlement-binding witness. The other twenty cross-runtime entries do not gain F1/F2 credit from this document or from decoder tests. All owner symbols and exact admitted values remain in loopx/semantics/vocabulary_v0.json; paths in the second column below are relative to loopx/control_plane/.

A runtime witness executes the shipped decision from causal facts. An injected value witnesses a caller-input/decoder boundary only. Mixed rows retain both obligations. Legacy acceptance needs a retained reader and an exit condition; no row is relabeled local-only to avoid a crossing it actually has. These are bounded source treatments, not whole-program reachability, data-flow or F6 proof.

Source and compatibility inventory

Registered entry Owner / slot Executed source treatment Compatibility and remaining boundary
turn_result_kind turn_driver/executor.py, transaction.py::_result_kind → generated result kind Internal result selection plus caller/Host result input. Driver/executor/transaction tests exercise results and malformed input; the registered fixed decoder witnesses every admitted value. Host input acceptance is not proof a live Host emitted it; journal/replay readers remain.
turn_route turn_driver/driver.py, loop_controller.py → plan/envelope route Internal route selection. Driver and loop-controller tests exercise host-ready, gated, repair, wait and invalid routes; generated route projection is checked. Keep the three Turn vocabularies and explicit projection; a route is not a stored receipt.
loop_disposition turn_driver/loop_controller.py::decide_loop_disposition → disposition Internal decision from current route/result/iteration facts; loop-controller table and negative/retry tests execute the owner. Generated controller rules remain distinct from route and result; no spelling-only merge.
agent_scope_frontier_action agents/agent_scope.py → frontier action Internal classification of candidates, dependencies and handoff; agent-scope frontier tests execute exhausted/wait/reassignment/successor branches. Generated TS binding is a consumer, not another producer; no claim of whole-goal completion from an exhausted lane.
effective_action quota/decision_summary.py and registered overlays → final action Internal decision/overlay output. Quota decision tests execute current paths; the fixed producer scan still has explicit unresolved sites. The root decision/frontier union and nested replay slots stay distinct. Source treatment does not eliminate scanner unknowns or prove every branch reachable.
settlement_binding_kind effect_program.ts::settlementIdentity → binding_kind Internal normalization of supplied identity. Existing settlement-binding witness executes Todo, autonomous-replan and unbound cases plus contradictions. Unbound is not a permit to spend; exact identity remains the existing receipt owner’s responsibility.
task_lease_lifecycle_operation work_items/task_lease_lifecycle_request.ts → operation Caller-selected native input; lifecycle tests execute renew/transfer/release, terminal_verify/holder_verify/fence_close, bad input, CAS and retry. Replaces retired private Python lease_action, not lease behavior. Native persisted fence receipts and omitted legacy optional fields remain readable; no F1/F2 enrollment.
settlement_step_kind effect_program.ts, turn_driver/settlement.ts → receipts[].step_kind Mixed internal receipt construction and external envelope input. Stage 2a executes all four steps on committed replay without callbacks, and rejects malformed step input. Ordered prefixes, effect identity and historical receipts remain; injected steps prove decoding only.
settlement_failure_kind effect_program.ts, quota/settlement_readback.ts, native lease owners → failure kind Mixed internal failures and accepted envelope input. Stage 2a now includes all 12 wire values, real unbound-guard readback and native permission denial. cancelled now has the reader-reserved scope and exit condition below; no internal producer or historical-use claim is made. Lease summaries use failure.step, while Effect envelopes use failure.step_kind; no fabricated wire conversion.
receipt_bound_monitor_phase quota/settlement_readback.ts → settlement_phase.ts → monitor_phase Internal derivation from exact monitor commit; Stage 2a executes poll_due/settled, wrong identity and legacy monitor effect id. settlement_pending is retained consumer compatibility only; real monitor builder does not emit it. Remove only after historical work-lane consumers migrate.
receipt_bound_replay_phase quota/settlement_readback.ts → settlement_phase.ts → replay_phase Internal open/pending/settled from isolated receipt files and completion/writeback/spend prefixes; repeated reads and identity negatives execute the bridge. Terminal-to-replay adapter and original binding stay. Phase projection is not proof all durable writers committed correctly.
delivery_workspace_kind agents/workspace_guard.py::capture_delivery_workspace → TS snapshot Mixed filesystem/Git observation and snapshot input. Real primary/linked/local workspace tests plus TS normalization cover three kinds, contradictions and invalid origins. Keep v0 Git snapshot normalization; do not turn missing/failed Git evidence into a local-goal grant.
delivery_workspace_identity_kind agents/workspace_guard.py → agents/delivery_workspace.ts → identity_kind Mixed observed git_repository/local_goal and validated snapshot input. The same real Git/local tests verify identity, ownership and peer isolation. Local Goal identity cannot satisfy a peer-independent Git requirement; v0 Git snapshots retain their own migration path.
delivery_workspace_requirement quota/settlement_workspace_causality.ts → requirement Internal required/not_required/unknown from explicit work contract. Causality tests execute repository writes, non-delivery, missing metadata and event readback. Unknown requires repair. Legacy no-workspace settlement exception needs both exact committed validation/writeback receipts; partial or wrong-Todo evidence fails.
todo_completion_continuation todos/completion_state.ts::selectTodoCompletionState → continuation Internal active_goal/successor/no_followup selected from intent and Todo facts, plus persisted metadata input; whole-owner and malformed-authority tests execute it. Contradictory successor/no-followup intent rejects; retained metadata normalization remains while retired scalar RPC rejects.
todo_completion_recovery todos/completion_state.ts → recovery Internal same_turn_terminal_closeout/lifecycle_reentry_terminal_closeout from completed Todo, closure intent and identity source; pinned and explicit lifecycle cases execute both. Recovery does not rewrite the original completion identity or create a successor; nullable non-recovery is distinct.
todo_decision_scope_kind todos/decision_metadata.ts::normalizeTodoDecisionScope → kind Author-declared input, not inferred by a producer. Explicit seven-kind input witnesses, malformed membership, CLI mutation and exact-kind dominance tests execute readers. other has the explicit custom-authority authoring rule below, never an unknown-input fallback. Input acceptance does not grant authority; legacy standing-scope codec remains.
todo_decision_scope_granularity todos/decision_metadata.ts → granularity; decision_scope.ts → dominance Author-declared action/lane/goal/project/global input; explicit domain and unknown/null/numeric tests plus CLI/dominance cases execute consumers. Broad scope cannot cross kinds or override exact target/recipient conflict; do not infer missing scope from a bounded view.
goal_amendment_class goals/goal_amendment_proposal.ts → proposal.amendment_class Author-declared four classes; RFC classification table, all-class/unknown-class tests and real submit/list CLI provide input and journal evidence. Admission is retained proposal evidence with canonical_effect=none, not amendment commit or delegated protected authority.
goal_amendment_proposal_admission goals/goal_amendment_proposal.ts::admissionOutcome → admission Internal admitted/needs_rebase from current basis, sequence and digest; equal/stale/future/canonical/Markdown tests execute real TS owner and CLI journal. Retain stale proposals for rebase; reject fabricated future history. Admitted never means accepted shared change.
goal_amendment_proposal_admission_fact same admission owner → admission_facts[] Internal four fact codes for sequence behind, digest mismatch, unverifiable basis and superseded basis; combined-condition and basis-transition cases execute branches. Mixed facts remain together; Markdown or canonical zero sequence is not fabricated event-log freshness. No change to proposal schema or commit authority.
scheduler_cadence_transition scheduler/state_transition_rules.ts → cadence transition Internal six transitions from identity, elapsed interval, acknowledgement and failure facts; Python decision table and TS coarse-transition tests execute the shared owner. Keep pinned old-Python characterization and state readback; cadence is not permission to execute or spend.
scheduler_host_transition scheduler/state_transition_rules.ts → host transition Internal apply_required/host_match_ack_required/recorded_failure_suppressed/settled; explicit table/negative tests exercise current observations and recorded failures. Projection is not an actual host update. Current-host ACK must pass #6259’s separate readback gate; no host-success claim from these fixtures.
handoff_mode coordination/handoff_mode_vocabulary.ts, authority/mode-plan readers → mode Mixed configured input and retained legacy/default read. Real show/set CLI, invalid/frontmatter, quiescence, lease and replay tests exercise source and readers. New configuration targets are soft_claim/hard_lease; legacy remains readable for upgrade/receipts. Mode parsing is not lease authority.
delivery_outcome work_items/delivery_outcome.ts, monitor/Host/replan producers → outcome Mixed caller declaration and machine selection: monitor/Host paths produce surface_only/progress, replan can downgrade to outcome_gap; primary_goal_outcome is an author claim. History, native monitor, executor, replan and diagnostic tests exercise these boundaries. Decoder/claim validation does not independently verify a primary outcome. Historical contradictory claims are diagnosed, not rewritten as success.
delivery_continuity_preemption quota/should_run_packet.py::_delivery_preemptions_for_route → turn_driver/delivery_continuity.ts Internal current guard facts plus typed input: receipt, blocking lane, replan, repair and denied delivery. Continuity route/selection tests execute preemption and subsequent reselection. Sticky delivery cannot override these facts. Same strings in a different qualifier are not automatically this vocabulary; no old receipt retargeting.

Current disposition of the two previously unresolved meanings

#6313 received an exact-head APPROVED review from loopx-agent and was merged by huangruiteng in d3f84dced555b7fa8bdffa33b750de6b1b3ea968. The following rules are now in the canonical registry and protocol. This records the actual review/owner integration, not a retroactive claim of human review, a cancellation implementation or general tracker acceptance. The original disposition record retains its proposal baseline.

  • settlement_failure_kind.cancelled — Effect/settlement owner. Retain the already admitted failure input as reader-reserved compatibility. It preserves prior receipts/details and short-circuits subsequent callbacks; it cannot prove that an in-flight provider stopped, erase a commit, or grant retry, rollback, resume or quota authority. There is still no identified built-in cancellation producer or proof of historical emission. Exit requires an owner-reviewed typed cancellation contract with actual causal witnesses, or a versioned reader migration with stored/caller compatibility evidence.
  • todo_decision_scope_kind.other — Todo decision-scope owner. Authors select it for an explicit custom approval that none of the six named kinds describes; uncertainty is not a fallback. Task text explains the approval and a stable public-safe key identifies the gate and dependent work. Existing exact-kind, key, granularity, recipient and target rules remain. Even other:global:* cannot cover a named permission; unknown input rejects. The authoring contract supplies the rule and examples.

The prior absence of a usage rule is no longer described as current unknown meaning. Input/compatibility treatment still does not earn internal producer credit. Final #4447 closure additionally requires integration of the source inventory and a passing final revision, not just the merge of this disposition.

Evidence and reproduction

Use the intended source checkout, uv sync --extra test, qualified Node 22.22.3, and npm ci --ignore-scripts --no-audit --no-fund. Python imports must resolve to that checkout. Evidence groups are existing tests, not a new acceptance database:

  • Foundation: tests/test_loopx_turn_{driver,executor,transaction}.py, tests/test_loop_turn_loop_controller.py, tests/control_plane/test_agent_scope_frontier_contract.py, tests/control_plane/test_quota_run_decision.py, and tests/architecture/test_semantic_settlement_binding_witness.py.
  • 2a: tests/architecture/test_settlement_receipt_source_boundaries.py and native turn_settlement, quota_settlement_readback, task_lease_acquire and task_lease_lifecycle TS suites. The thin source witness adds no decision rule. Its new unbound-guard case executes real synthetic-file readback through TS and Python; its excluded-owner case executes real native lease rejection with no lease write. The explicit external-failure cases now cover twelve values; registry comparison only prevents an added value silently missing its witness.
  • 2b: Python test_delivery_workspace.py, test_workspace_git_fact_reads.py, test_delivery_workspace_causality.py, test_task_lease_cli_native.py, test_todo_decision_scope_{cli_validation,consistency}.py, test_todo_completion_state_runtime.py; TS delivery_workspace, settlement_workspace_causality, todo_completion_state, decision_metadata and decision_scope. Input cases for every scope kind/granularity are distinct from runtime classification; custom-kind authoring now follows the current protocol.
  • 2c: Python test_goal_amendment_proposal{,_cli}.py, test_scheduler_state_{transition_rules,runtime_integration}.py, test_goal_handoff_mode_cli.py, test_handoff_mode_source.py, test_delivery_continuity_{selection,runtime}.py, test_native_monitor_poll.py, test_replan_writeback_projection.py, test_refresh_state_replan_gate.py, test_final_outcome_diagnostics.py; TS goal_amendment_proposal, scheduler_state_transition_rules, handoff_mode_plan, delivery_continuity and delivery_history.
  • Historical/new-output boundary: Python test_protocol_packet_history.py and test_protocol_packet_retirement_cli.py; generated semantic/Turn bindings checked with their existing --check commands and full drift smoke.

Run Python files with uv run --extra test python -m pytest -q ...; TS suite names above mean tests/control_plane_ts/<name>.test.ts, run with node --no-warnings --experimental-sqlite --experimental-strip-types --test .... Do not substitute enum iteration for producer witnesses. Expected observations come from the accepted contracts and causal cases, not an echo of owner output.

Current execution results

The source-evidence candidate over the main baseline above was executed with Python 3.11.7 and qualified Node 22.22.3:

Group Result Meaning
Existing Turn/frontier/workspace/Todo/amendment/scheduler/handoff/continuity/history and local-provider paths (28 Python files listed above) 610 passed Actual domain owners, including isolated Git/File/SQLite paths; no live model or Host timer claim.
Semantic architecture plus test_cross_runtime_value_notes.py 706 passed Scanner/registry/owner/value-note/compatibility contracts, not whole-program production proof.
Native TypeScript (the listed suites plus action-selection admission and interaction contract) 448 passed, no skips Typed source and consumer boundaries; not a PostgreSQL or deployed-App qualification.
Full settlement CLI plus decision-scope CLI/consistency/lifecycle and Stage 2a source witnesses 209 passed, no skips The three original Host-ACK cases now pass on current main code; source-witness additions remain in this PR.
Current-main monitor unavailable-recovery, closeout and target-key replay 52 passed Real affected owner paths supplement the changed readback boundary; no live Host timer or deployed recovery claim.

The original failing tests — test_standard_codex_app_settlement_is_receipted_and_idempotent and both test_todoless_autonomous_replan_settles_quota_refresh_spend_chain variants — now pass individually and in the full group above. The relevant production and settlement CLI test files equal main. Commit db5a298a54f47179b9be2a3b9cf2f775b71a9274 (#6344) supplied the missing synthetic Host observation; the Todo-less scenarios also retain absent and mismatched manifest refusals, no scheduler write and the original single debit. The ordinary scenario still refuses the superseded Turn before acknowledging the current one. Original ACK, persisted scheduler state and byte-stable replay assertions pass without relaxing the Host-readback rule.

#6285 merged as 5ea7497b52f4b094ee2e4528f92bf69b934a25ee on 2026-10-13 after an exact-head approved review at f6c8aae7a7e8ba917861992a1ad21eb29477bf26. It adds shared fixture setup, extra ordinary-Turn absent/mismatched cases and explicit applied-RRULE readback to the same settlement CLI file. Those cases do not make the original three failures recur, and the same fixture repair is credited once, to #6344.

Historical results remain tied to their original snapshots: main 509c38c502d3d0b4eafb01550efcdc4b5b5a1d17 had 206 passed / 3 failed in this group, and a separate combination with the then-current #6285 fixture passed the 101-test settlement CLI suite. They are superseded for current acceptance by the current-main-runtime results above, not rewritten as earlier successes.

The full drift readback retains F1/F2 6/26, F3 0/26, F4 4/4, F5 1/1 and F6 0/0. The report still names 45 unresolved producer sites, including 17 that cannot supply producer evidence; no ceiling or scan boundary is relaxed. The cross-runtime value-note cases are included in the 706-case group above, not an additional coverage count. Generators, typecheck and scoped quality results are part of the PR validation record. Earlier 66/564/82/706 Python and 421 TS counts belong to the old 43173c0b8 snapshot; they are not relabeled as current results.

Exact selections for the current evidence groups
uv run --extra test python -m pytest -q \
  tests/test_loopx_turn_driver.py \
  tests/test_loopx_turn_executor.py \
  tests/test_loopx_turn_transaction.py \
  tests/test_loop_turn_loop_controller.py \
  tests/control_plane/test_agent_scope_frontier_contract.py \
  tests/control_plane/test_quota_run_decision.py \
  tests/control_plane/test_delivery_workspace.py \
  tests/control_plane/test_workspace_git_fact_reads.py \
  tests/control_plane/test_delivery_workspace_causality.py \
  tests/control_plane/test_delivery_workspace_causality_runtime.py \
  tests/control_plane/test_task_lease_cli_native.py \
  tests/control_plane/test_todo_completion_state_runtime.py \
  tests/control_plane/test_goal_amendment_proposal.py \
  tests/control_plane/test_goal_amendment_proposal_cli.py \
  tests/control_plane/test_goal_amendment_proposal_lifecycle.py \
  tests/control_plane/test_scheduler_state_transition_rules.py \
  tests/control_plane/test_scheduler_state_runtime_integration.py \
  tests/control_plane/test_goal_handoff_mode_cli.py \
  tests/control_plane/test_handoff_mode_source.py \
  tests/control_plane/test_delivery_continuity_selection.py \
  tests/control_plane/test_delivery_continuity_runtime.py \
  tests/control_plane/test_native_monitor_poll.py \
  tests/control_plane/test_replan_writeback_projection.py \
  tests/control_plane/test_refresh_state_replan_gate.py \
  tests/control_plane/test_final_outcome_diagnostics.py \
  tests/control_plane/test_protocol_packet_history.py \
  tests/control_plane/test_protocol_packet_retirement_cli.py \
  tests/control_plane/test_local_provider_settlement_journey.py

node --no-warnings --experimental-sqlite --experimental-strip-types --test --test-concurrency=1 \
  tests/control_plane_ts/turn_settlement.test.ts \
  tests/control_plane_ts/quota_settlement_readback.test.ts \
  tests/control_plane_ts/task_lease_acquire.test.ts \
  tests/control_plane_ts/task_lease_lifecycle.test.ts \
  tests/control_plane_ts/delivery_workspace.test.ts \
  tests/control_plane_ts/settlement_workspace_causality.test.ts \
  tests/control_plane_ts/todo_completion_state.test.ts \
  tests/control_plane_ts/decision_metadata.test.ts \
  tests/control_plane_ts/decision_scope.test.ts \
  tests/control_plane_ts/goal_amendment_proposal.test.ts \
  tests/control_plane_ts/scheduler_state_transition_rules.test.ts \
  tests/control_plane_ts/handoff_mode_plan.test.ts \
  tests/control_plane_ts/delivery_continuity.test.ts \
  tests/control_plane_ts/delivery_history.test.ts \
  tests/control_plane_ts/action_selection_admission.test.ts \
  tests/control_plane_ts/interaction_contract.test.ts

uv run --extra test python -m pytest -q \
  tests/control_plane/test_quota_settlement_cli.py \
  tests/control_plane/test_todo_decision_scope_cli_validation.py \
  tests/control_plane/test_todo_decision_scope_consistency.py \
  tests/control_plane/test_todo_decision_scope_lifecycle.py \
  tests/architecture/test_settlement_receipt_source_boundaries.py

uv run --extra test python -m pytest -q \
  tests/architecture/test_semantic*.py \
  tests/architecture/test_cross_runtime_value_notes.py

uv run --extra test python -m pytest -q \
  tests/control_plane/test_monitor_poll_unavailable_recovery.py \
  tests/control_plane/test_monitor_unavailable_closeout_cli.py \
  tests/control_plane/test_monitor_target_key_replay.py

Integrated state and closure boundary

The main baseline includes #4772/#4777 reporting corrections, #4775 live composition, #4783 settled replay, #4788 rejected selection, #4786 inbox composition, overlapping correctness #4764, binding witness #4747 and 2a #4795.

4794 stopped new protocol_action_packet writes while retaining historical

reading/signature projection. The other five legacy fields remain intentionally visible; all-field retirement is not a closure condition. #5317 supplies the separate #4743 development-time advisory, so the old “never built/no AGENTS instruction” claim is obsolete. Advisory findings do not become blocking proof.

The current baseline includes #6251 typed-failure and #6268 canonical-selection repairs, #6260 shared consistency, #6290 legacy-work-basis repair and #6313 source disposition. These resolve named code/meaning gaps; they do not extend #4447's original closure scope. The original Host-ACK blocker is resolved in main, and the #6270 source witnesses and inventory are integrated. Stage 3 and the issue remain open only for final owner closeout on one revision with explicit passed/failed/untested evidence; the merged #6285 cases are not a closure condition for this tracker. Installed frontend/Lark/live-model, general Goal/team qualification and blanket F6 proof are outside this tracker. No production provider, permission or persistence format changes here; raw logs and local Goal state stay private.

Integrated readback at c185e3f0cf19419a1786c882b006eb4567ff449e (2026-10-14)

Candidate record for Stage 3, not owner acceptance. The exact selections above were re-run on canonical main after #6270 merged: 663 Python domain and monitor-recovery cases, 706 semantic/value-note cases, 448 native TypeScript cases and 211 critical settlement/scope/source cases passed with no skips. The drift smoke passes at 26 entries / 51 owner symbols with F1/F2 6/26, F3 0/26, F4 4/4, F5 1/1, F6 0/0 and 45 unresolved producer sites, 17 unable to provide evidence. Failed: the full Python suite is not green on this revision; tests/control_plane/test_effect_interpreter_packet.py::test_real_executor_uses_verdict_and_replays_persisted_plan fails in CI and locally with LoopX Turn route is not host executable, outside these evidence groups and outside this tracker's scope. Untested: installed frontend/Lark, live models and whole-tree F6. Counts are evidence boundaries, not a completion percentage.