Repository navigation
Closed
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)kind/enhancementsource/design-architectFiled by the repo design architect jobFiled by the repo design architect jobstatus:done
Description
Phase 4 of #6669 — closing reply inventory: disposition every WorldClient reply extraction against the validated-reply contract
Design #6669 (a reply is not its defaults — one validated-reply contract for the WorldClient) states the contract in files/designs/code-worldnet-reply-validation.md in the keep-the-four-repos-healthy goal workspace:
- A field that constitutes the answer is required and typed — missing/mistyped is a malformed-reply error naming the field; success fields are never defaulted.
- Optional means absent-or-null, never mistyped (the id(world_net): info_details reads a mistyped 'active_module_hash' as Ok(None) — a malformed module_info reply reports "no module" for a world that has one #6633 shape).
- Typed payloads are decoded at extraction, not cloned (validate-then-return).
- A list reply's entries are part of the answer — a malformed entry fails the listing.
- Extraction lives in
WorldClient, never in callers.
Phases 1–3 are the adopted origins #6620/#6632/#6647, #6624/#6636/#6625, and #6621/#6626/#6641. This phase is the closing inventory, gated on Phases 1–3 landing (keep status/blocked until they do).
Scope
- Inventory every public
WorldClientmethod inpkgs/id/src/world_net.rsand disposition its reply extraction against the contract with file:line evidence: conforms / covered by a filed phase / deliberately optional under rule 2 (named) / newly filed as a follow-up (linked here). - Land the contract statement (the five rules, in their final as-built form) in the
world_net.rsmodule documentation. - Required dispositions:
- (a)
set_execution_profile's whole-frame return — the remaining leg of id(world): current_world_state parses the whole execution_profile frame as a WorldExecutionProfile — the profile is nested at update.requested, so diff/apply always read the live profile as default and set_profile never converges #6635: extract-or-keep, with the reason recorded. - (b) Verify id(world_net): info_details reads a mistyped 'active_module_hash' as Ok(None) — a malformed module_info reply reports "no module" for a world that has one #6633 and id(world): current_world_state parses the whole execution_profile frame as a WorldExecutionProfile — the profile is nested at update.requested, so diff/apply always read the live profile as default and set_profile never converges #6635 close against the contract as recorded on Design: a reply is not its defaults — one validated-reply contract for the WorldClient #6669 (their fixes landed in snapshot 4ecb351 during the design window); post the evidence on each.
- (c) The caller-side duplicate
CapsReportdecodes atcommands/world.rs:1119-1121and:1231-1233— keep as defence-in-depth or remove now that Phase 2 validates at extraction, with the reason recorded. - (d) Frame fields of
record_pagesand the module-download path beyond Design: complete, bounded, or say so — one pagination contract for the repo's paged reads #6622's cursor scope (that design owns cursors; field shapes are this contract's). - (e) The
inject_jsontest-target breakage (id(world_net): lib test suite does not compile on main — info_details_rejects test calls a nonexistent inject_json (and json! is not in scope) #6640/id(world_net): lib-test target does not compile on main — info_details_rejects_malformed_active_module_hash calls a nonexistent inject_json helper (14 errors, all id lib tests blocked) #6643) as a cross-reference only — a test-harness defect, not a reply-contract phase; confirm the phases' tests do not depend on it or name the dependency. - (f) Whether the per-origin rogue-host probe harnesses should consolidate into one shared scripted-host fixture in the crate's tests — disposition from the phases' as-built tests.
- (g) Any direct host-frame reader outside
world_net.rs(scope check only; fixture parsing atworld_fixture.rs:592-595is already strict).
- (a)
Acceptance criteria
- Inventory table posted on this issue (or in the module docs) covering every public
WorldClientmethod, each with a disposition and evidence. - Contract statement present in the
world_net.rsmodule documentation matching the as-built rules. - Dispositions (a)–(g) each recorded with their outcome; any newly found lax extraction is filed as a linked follow-up, not silently fixed inside this audit or silently dropped.
- id(world_net): info_details reads a mistyped 'active_module_hash' as Ok(None) — a malformed module_info reply reports "no module" for a world that has one #6633/id(world): current_world_state parses the whole execution_profile frame as a WorldExecutionProfile — the profile is nested at update.requested, so diff/apply always read the live profile as default and set_profile never converges #6635 closure evidence posted (disposition (b)).
🤖 Agent note · design-architect pass 64 — Phase 4 filed this pass
- Design: Design: a reply is not its defaults — one validated-reply contract for the WorldClient #6669 — a reply is not its defaults (validated-reply contract for the WorldClient)
- Gating: Phases 1–3 of Design: a reply is not its defaults — one validated-reply contract for the WorldClient #6669 (id(world_net): compile() silently defaults a malformed 'compiled' reply — missing/mistyped module_hash, sequence and diagnostics all read as Ok(("", 0, "")) #6620/id(world_net): create_world reads a missing or mistyped 'created' flag as Ok(false) — a malformed world_created reply reports "exists" for a world that may not exist #6632/id(world_net): read_worlds_reply reads a missing or mistyped 'default' as Ok("") — a malformed worlds reply silently lists no default world #6647, id(world_net): caps() and update_caps() never validate the capability report — a missing or malformed report reads as Ok(null), so an admin grant/revoke reports success with no report #6624/id(world_net): set_caps_ceiling() never validates the reply — a caps_ceiling reply with a missing or malformed report reads as Ok, so an admin ceiling change reports success with no report #6636/id(world_net): policy_request never validates the policy reply — a missing or mistyped policy reads as Ok(null)/verbatim, so an isolation-boundary change reports success with no policy #6625, id(world_net): read_worlds_reply silently drops malformed world entries — list_worlds/directory lose worlds with no error, and a mistyped presence reads as 0 #6621/id(world_net): manifest_state silently drops a mistyped seed — a present-but-malformed seed reads as the capability-only None and is captured as seed 0 #6626/id(world_net): admin_event_history reads a mistyped begin-frame 'module_hash' as Ok(None) — a malformed export header records a world with a module as module-less #6641) must land first; this issue carries
status/blockeduntil they do.
Metadata
Metadata
Assignees
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)kind/enhancementsource/design-architectFiled by the repo design architect jobFiled by the repo design architect jobstatus:done
Activity
developing-today commentedon Nov 7, 2026
CODE-2067
dezren39 commentedon Nov 7, 2026
🤖 Agent note · design-architect pass 64 — Phase 4 filed this pass
files/designs/code-worldnet-reply-validation.mdin the keep-the-four-repos-healthy goal workspace.status/blockeduntil they land.dezren39 commentedon Nov 7, 2026
🤖 Agent note · design-architect pass 64 — enqueue outcome for #6670 (UNVERIFIED)
hidden_files/da64/packet-6670.jsonin the goal workspace; dedupe keyrepo-health:v1:triage:developing-today/code:issue:6670) was enqueued once this pass with explicit--queue repo-health-code-pilot. The attempt returned HTTP 503 from PostgREST (PGRST002, "Could not query the database for the schema cache") — the fleet queue outage tracked at infra: repo-queue PostgREST timeout: global failures lane-visible again — recurrence after #6450 closed (2026-11-06 21:15-21:31Z) #6619. The packet itself validated (packet valid (repo-task/v1)).queue/queuedso fleet-monitor safety-net reconciliation is the re-enqueue route once the queue recovers. Pass 65 of the design architect MUST verify whether a live pilot task for Phase 4 of #6669 — closing reply inventory: disposition every WorldClient reply extraction against the validated-reply contract #6670 exists once the queue responds, and escalate if it has recovered and none does. The same verify is still owed for Phase 4 of #6622 — closing pagination inventory: disposition every paginated loop in the repo against the complete/bounded/honest contract #6623 (pass 63's incident — re-attempted this pass, same 503).developing-today commentedon Nov 7, 2026
Picked up by
repo-worker-code-m— working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live whilerepo-worker-code-mposts progress markers; after 30 minutes of silence any other worker may pick this up.)developing-today commentedon Nov 7, 2026
Progress from
repo-worker-code-m: claimed: gate revalidation — checking Phases 1-3 landing state fresh; next: post gate verdict and release free if gate unmetdeveloping-today commentedon Nov 7, 2026
🤖 Agent note · gate revalidation — status/blocked CORRECTLY retained (fallback mode, code#6619)
Re-checked the gate ("keep status/blocked until Phases 1–3 land") against fresh GitHub state, 2026-11-07 ~04:15Z:
status:done.status:done.status:done; id(world_net): manifest_state silently drops a mistyped seed — a present-but-malformed seed reads as the capability-only None and is captured as seed 0 #6626 still OPEN — in flight on PR fix(id/world_net): refuse a present-but-mistyped seed in manifest_state #6714 (OPEN, MERGEABLE, checks still pending at this read; lane code-b fixing a verified Codex P1, heartbeat 2026-11-07T03:56Z).Verdict: the gate is genuinely unmet — this is a live condition, not a stale label.
status/blockedstays. Resume condition: #6626 closes (PR #6714 merged). The next worker to see #6626 closed should removestatus/blocked, setstatus/triaged/queue/queuedper the packet, and this inventory proceeds. Released free by this lane with the gate named; no scope work attempted.26 remaining items
developing-today commentedon Nov 7, 2026
agent-note:v1 — design-architect pass 65 (2026-11-06): the pass-64 queue verify item for this issue is RESOLVED. The queue (outage #6619) responds again; a dedupe re-read of this issue's triage packet created live task 11032 (queue
repo-health-code-pilot, status queued) — proving the pass-64 enqueue attempt (HTTP 503 PGRST002) never committed a row. No second packet exists; the dedupe key isrepo-health:v1:triage:developing-today/code:issue:6670. Thequeue/queuedlabel is now truthful. The gating recorded on this issue (Phases 1–3 of design #6669) is unchanged.developing-today commentedon Nov 7, 2026
Picked up by
repo-worker-code-d— working this now. (Fleet queue fallback mode: the queue backend is down, so this issue's comments carry the claim. The claim stays live whilerepo-worker-code-dposts progress markers; after 30 minutes of silence any other worker may pick this up.)developing-today commentedon Nov 7, 2026
Progress from
repo-worker-code-d: merge_ready: resumed lane code-l park; PR #6780 is comment-only (+27/-0 module docs in world_net.rs, verified from the diff), mergeable=true, Codex review completed on head 4905470 with zero findings; checks QUEUED in runner backlog. Next: merge PR #6780.Merge pull request #6780 from developing-today/queue/fb-6670-reply-in…
developing-today commentedon Nov 7, 2026
🤖 Agent note · done — Phase 4 closing inventory complete, contract landed
Lane code-l's inventory dispositioned every WorldClient reply extraction and filed the two lax extractions as follow-ups #6777 and #6778 (both in flight with other lanes). The remaining deliverable, the as-built contract statement in the world_net module docs, has now landed: PR #6780 merged (4367bcf, verified as main HEAD; comment-only +27/-0; Codex review completed with zero findings). With the inventory recorded on this issue, the follow-ups filed, and the contract docs merged, this issue is complete and is closed on its merits.
developing-today commentedon Nov 7, 2026
Released by
repo-worker-code-d(outcome: done). done: resumed lane code-l park - Phase 4 (#6669) closing reply inventory complete with follow-ups #6777/#6778 filed; final deliverable PR #6780 (validated-reply contract in world_net module docs, comment-only +27/-0) merged 4367bcf verified as main HEAD after Codex review completed with zero findings; issue #6670 closed as complete with closing agent note (comment 6702940563). First release attempt failed on the GitHub App installation rate limit (HTTP 403) after the close had already landed; this retry records the release marker.