mirror of
https://github.com/razzant/ouroboros.git
synced 2026-10-22 22:59:33 +00:00
docs(f6-sync): ledger section, domain rows, regenerated ratchet manifest
- LEDGER_CORRECTIONS: the F6 rolling-sync decision map (conflict classes, double extractions, rename classes, protected deltas, disclosed dispositions, open forks Q-F6-1..3) - v7next_domains.toml: process_interpreters replaces python_interpreter (D05); rows for the ten new upstream leaves by campaign family - size_ratchet_manifest regenerated after the size-gate reshuffle (extension_plugin_api band row dropped at 1000)
This commit is contained in:
parent
fadb7e33dc
commit
816e7b82d7
3 changed files with 142 additions and 2 deletions
|
|
@ -3429,3 +3429,130 @@ the base implementation before the fix.
|
|||
weakref support) is logged, never dropped. Pins: registration exception
|
||||
→ stamped; cleanup exception over a marked one → stamp preserved on
|
||||
both; a setattr-refusing exception → stamped via the side-table.
|
||||
|
||||
## From the F6 rolling-upstream sync (upstream 8d13373b, base 5187fcdc, 2026-09-01)
|
||||
|
||||
One merge (`git merge 8d13373b`, merge-base b9f7597f: 121 upstream commits,
|
||||
319 files, 93 overlapping) under the standing principle **upstream = semantic
|
||||
truth, campaign = structural truth**. Decision map by conflict class:
|
||||
|
||||
- **Campaign-split monoliths** (loop.py, supervisor/events.py, tools/registry.py,
|
||||
tools/control.py, tools/core.py, tools/shell.py, extension_loader.py, config.py,
|
||||
llm.py, usage_accounting.py, delegate_custody.py, review_evidence.py,
|
||||
review_substrate.py, supervisor/queue.py, supervisor/git_ops.py, server.py,
|
||||
agent_task_pipeline.py, skill_review_status.py, subagent_dispatch_notes.py,
|
||||
scope_review.py, claude_advisory_review.py): OUR facade form kept; every
|
||||
upstream semantic delta re-seated in its owner leaf (retarget-to-owner).
|
||||
Notable seats: DESIGN.md governance doc -> scope_review_pack +
|
||||
preflight_review_prompt; EFFORT_SCALE `ultra` -> settings_scales +
|
||||
llm_capability_policy + control_runtime (whole-call effort validation);
|
||||
bounded prompt-token estimate -> llm_attempt + usage_accounting dataclass;
|
||||
cached ledger read -> usage_legacy_import; sweep_orphaned_budget_fences ->
|
||||
queue_snapshot restore seam; managed-update truthfulness (checked_at
|
||||
discipline, availability recompute, `_public_repo_url` credential strip,
|
||||
list_versions sha) -> git_ops_updates (+ facade re-export); custody
|
||||
cursor/backfill passes -> server_maintenance; R5 delegated-custody
|
||||
projection -> control_task_results; routing candidates reorder + durable
|
||||
attachment carrier -> control_routing; owner_delivery live-first send family
|
||||
-> control_runtime + core_artifacts; child-absorption hold + fresh-listing
|
||||
prompts -> loop_delivery/loop_forced_finalization/loop_budget; quiz-answer
|
||||
drain + extracted handle_finalize_now_entry -> loop_round_limits.
|
||||
- **Double extractions — the upstream twin never lives**:
|
||||
- `acceptance_dialogue.py` (853 L) -> folded into `loop_acceptance.py`
|
||||
(REASON_* closed-set rows) and `loop_acceptance_review.py` (A-material
|
||||
paid identity family: `acceptance_paid_identity`,
|
||||
`bind_acceptance_paid_identity`, `_refuse_identical_acceptance`,
|
||||
`acceptance_dialogue_history`, superseded-replay `_prior_acceptance_run`,
|
||||
inconclusive/DEGRADED dialogue semantics in `_apply_task_acceptance_result`,
|
||||
paid-cycles timing disclosure, UNHASHED history key). Importers (loop.py
|
||||
re-export list, tests/test_acceptance_a_material.py) retargeted; file removed.
|
||||
- `delivery_protocol.py` (170 L) -> folded into `loop_delivery.py`
|
||||
(hold-control literals, RecursionError-degraded object parser,
|
||||
`_parse_delivery_control_body` over `strip_protocol_fence` +
|
||||
`extract_trailing_json_object`); file removed.
|
||||
- `supervisor/chat_delivery_events.py` (150 L) -> folded into
|
||||
`events_chat_delivery.py` (unified `_delivery_chat_id` incl. chat-0 media,
|
||||
`send_links`/`send_quiz`, EVENT_HANDLERS merged as `**_CDE`); test importers
|
||||
retargeted; file removed. `telemetry_events.py` has no campaign twin and
|
||||
lands as-is; the campaign copy of `_handle_review_wave_budget_insufficient`
|
||||
(events_budget) is retired for the typed telemetry registry, its
|
||||
extraction-test pin removed with it.
|
||||
- **Rename classes accepted** (same behavior, public name): `_deadline_expired`
|
||||
-> `deadline_utils.deadline_expired` (tests/test_delegated_run_profile pins
|
||||
moved); `_contract_valid_actors` -> `review_actor_aggregation
|
||||
.contract_valid_actors` (review_verdict local copy deleted, re-export list +
|
||||
extraction pin updated); `record_python_resolution`/`python_interpreter` ->
|
||||
`process_interpreters.record_interpreter_resolution` + scoped
|
||||
`interpreter_attestation` (registry_core save/restore replaced; node
|
||||
post-gates seated as a registry_core helper under the 300-line function gate);
|
||||
`_describe_returncode` -> `process_facts.describe_returncode` (shell_process
|
||||
aliases it); `_write_verdict` -> `tools/patch_verdict.py` (upstream leaf
|
||||
as-is, subagent_integration re-exports).
|
||||
- **Protected surfaces as-is**: BIBLE.md (+P7 DESIGN.md), safety.py (chat.links,
|
||||
node-runtime, escalate carve), docs/CHECKLISTS.md, gateway/contracts.py incl.
|
||||
the `endpoint_index.py` extraction (campaign's scope-review-floor endpoint
|
||||
removal re-applied there; upstream's `POST /api/decisions` kept), registry.py
|
||||
deltas seated into the campaign leaf structure.
|
||||
- **size_ratchet_manifest**: union-resolved, then regenerated twice via
|
||||
`scripts/regenerate_size_ratchet.py` (band rationales recorded for
|
||||
loop_acceptance_review, loop_delivery, tests/test_delegate_answer;
|
||||
extension_plugin_api held at 1000 by moving the node argv policy beside its
|
||||
PATH-prepend half in extension_child_catalog); `--check` green. To keep
|
||||
tools/core.py under the 1600 giant gate the upstream-new link/quiz/escalate
|
||||
spans live in `core_artifacts.py` (the D05 owner-chat delivery leaf) with
|
||||
re-exports; `_run_shell` and the registry dispatch were shaved under the
|
||||
300-line function gate via shell_process/registry_core helpers.
|
||||
- **Web/VERSION**: upstream web wave, vendor assets, VERSION 6.113.5 and
|
||||
package data landed as-is (node --test: 812/812).
|
||||
|
||||
Disclosed dispositions (contract-affecting):
|
||||
|
||||
- **Upstream R5 regex fallback vs the ratified D02 typed organ**: upstream kept
|
||||
`_EXIT_CODE_RE`/`_SIGNAL_RE` prose harvest as a fallback for untyped records
|
||||
and pinned it in tests/test_process_signal_observability. The campaign organ
|
||||
(owner-ratified D02) retired prose classification: process facts flow ONLY
|
||||
from typed publications (ToolResult meta + the new thread-local
|
||||
`process_facts` channel, which the loop merges with whole-family precedence).
|
||||
The fallback pin was REPLACED by a campaign-contract pin (untyped legacy
|
||||
prose forges no process facts); stale fallback comments corrected. This
|
||||
replaces a clause that would have re-opened stdout forgery of
|
||||
exit_code/signal.
|
||||
- **Classification deltas A.23** (tests/test_tool_classification_differential):
|
||||
BROWSER_SESSION_RETIRED ok->timeout/error, BROWSER_BACKLOG_RETIRED_SESSIONS
|
||||
ok->unavailable/error (upstream #440 failure prefixes, typed here as exact
|
||||
identifier codes), ESCALATE_UNAVAILABLE error->unavailable (generic marker
|
||||
chain). Golden regenerated by the corpus recipe at 0f715831. The `A.23`
|
||||
numbering continues the existing owner-item sequence but has NOT been through
|
||||
an owner batch — see open fork Q-F6-2.
|
||||
- **Cost-projection doc row**: upstream's ARCHITECTURE text still describes the
|
||||
deprecated `cost_usd[_with_children]` outbound aliases; the campaign's ABI 7.0
|
||||
(ABI-3) removal is owner-ratified and its text was kept. No code conflict —
|
||||
upstream never re-added the aliases.
|
||||
- **test_v678_acceptance_state / test_owner_facing_honesty / test_loop_misc
|
||||
writer inventory**: upstream counts assumed acceptance_dialogue.py; pins now
|
||||
count the campaign leaves (19 writers incl. the A-material refusal;
|
||||
expression-valued reasons resolved through loop_acceptance/_review/outcomes).
|
||||
- **ABI 7.0 test fixtures**: upstream-new tests (routing_decision,
|
||||
find_child_prefilter) wrote unstamped task-result rows, which campaign
|
||||
readers QUARANTINE; fixtures now stamp `_schema_version` like real writers.
|
||||
|
||||
Domain map (`scripts/v7next_domains.toml`): python_interpreter.py row replaced
|
||||
by process_interpreters.py (D05); new rows D04 process_facts, D05
|
||||
owner_delivery, D07 delegate_registration_policy + patch_verdict, D08
|
||||
telemetry_events, D09 owner_quiz, D11 endpoint_index + routing_decision +
|
||||
task_decision, D17 routing_wait, D18 node_runtime.
|
||||
|
||||
Open fork questions for the owner:
|
||||
|
||||
- **Q-F6-1 (D02 vs R5 fallback)**: the regex-fallback retirement above follows
|
||||
the ratified D02 organ; if the owner wants upstream's fallback-for-legacy
|
||||
reading preserved on THIS branch, the typed-absence contract pin and the two
|
||||
comment corrections are the exact surface to revisit.
|
||||
- **Q-F6-2 (A.23 numbering)**: three approved classification deltas are recorded
|
||||
under a self-assigned `A.23` owner-item id (the table validator requires the
|
||||
`A.` prefix); ratify or renumber in the next owner batch.
|
||||
- **Q-F6-3 (owner-stop drain monkeypatch surface)**: the FINALIZE_NOW drain now
|
||||
calls the upstream-extracted `supervisor.owner_stop.handle_finalize_now_entry`
|
||||
directly; `loop._mark_owner_stop_control_drained` remains re-exported but the
|
||||
drain path no longer reads through the loop facade. No test relied on that
|
||||
monkeypatch point; flagged in case an external harness did.
|
||||
|
|
|
|||
|
|
@ -119,7 +119,6 @@ BAND_PATHS = {
|
|||
"ouroboros/consciousness.py": "Durable Background Consciousness observation inbox and bounded truthful replay",
|
||||
"ouroboros/context.py": "Entered the band from the 1501-1600 zone (1590 lines) by the v7 D03 extraction of the runtime-section fact builders into ouroboros/context_runtime_facts.py; shrink-only residue of the split, not new growth.",
|
||||
"ouroboros/delegate_custody.py": "D07 DEL1 split brought the custody monolith DOWN from the 1600 hard cap into the band (1600->1305); reconcile family extracted to delegate_custody_reconcile.py, shrink-only direction",
|
||||
"ouroboros/extension_plugin_api.py": "F6 upstream sync: the T14 node-runtime companion rewrite (manifest-PATH override guard + bundled-node argv substitution) landed in the registration owner; shrink-only from here",
|
||||
"ouroboros/extension_process_runner.py": None,
|
||||
"ouroboros/gateway/control.py": "Entered the band from 966 lines: the update-flow redesign added the shared stash-first prologue (_stash_local_work_fenced/_unwind_stashed_update) and the review-wave affordability floor to the update apply orchestration (update-flow-redesign sprint, Q9/Q10 owner decisions).",
|
||||
"ouroboros/gateway/settings.py": "Retiring persistent auto-Low removed the former giant debt; the remaining owner and reviewer settings endpoints stay centralized while tracked in the shrinking band.",
|
||||
|
|
|
|||
|
|
@ -230,6 +230,7 @@ D20 = "Presence"
|
|||
"ouroboros/outcome_receipt_store.py" = "D01"
|
||||
"ouroboros/outcomes.py" = "D01"
|
||||
"ouroboros/owner_hurry.py" = "D09"
|
||||
"ouroboros/owner_quiz.py" = "D09" # F6 sync (#Q-2b): owner quiz cards, structural expiry with the authoring task
|
||||
"ouroboros/owner_mailbox.py" = "D01"
|
||||
"ouroboros/packaged_cli.py" = "D18"
|
||||
"ouroboros/packaged_cli_install.py" = "D18"
|
||||
|
|
@ -259,7 +260,7 @@ D20 = "Presence"
|
|||
"ouroboros/promotion_source.py" = "D08"
|
||||
"ouroboros/protected_artifacts.py" = "D04"
|
||||
"ouroboros/provider_models.py" = "D02"
|
||||
"ouroboros/python_interpreter.py" = "D05"
|
||||
"ouroboros/process_interpreters.py" = "D05" # F6 sync: upstream retired python_interpreter.py into this two-family (python/node) resolver
|
||||
"ouroboros/reflection.py" = "D15"
|
||||
"ouroboros/repo_remotes.py" = "D10"
|
||||
"ouroboros/request_wire_attempt.py" = "D02"
|
||||
|
|
@ -533,6 +534,19 @@ D20 = "Presence"
|
|||
"supervisor/worker_process.py" = "D08"
|
||||
"supervisor/worker_promotion.py" = "D08"
|
||||
|
||||
# F6 rolling-upstream sync (b9f7597f..8d13373b) — new upstream leaves, placed by
|
||||
# their campaign families (same evidence discipline as the base map).
|
||||
"ouroboros/delegate_registration_policy.py" = "D07"
|
||||
"ouroboros/gateway/endpoint_index.py" = "D11"
|
||||
"ouroboros/gateway/routing_decision.py" = "D11"
|
||||
"ouroboros/gateway/task_decision.py" = "D11"
|
||||
"ouroboros/node_runtime.py" = "D18"
|
||||
"ouroboros/routing_wait.py" = "D17"
|
||||
"ouroboros/tools/owner_delivery.py" = "D05"
|
||||
"ouroboros/tools/patch_verdict.py" = "D07"
|
||||
"ouroboros/tools/process_facts.py" = "D04"
|
||||
"supervisor/telemetry_events.py" = "D08"
|
||||
|
||||
[classification]
|
||||
# new upstream modules classified by this campaign (classification=proposed, review pending)
|
||||
proposed = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue