CUST-WP-0075: reconcile owner waits and decision routing
This commit is contained in:
parent
8df9a39836
commit
786b082a19
16 changed files with 1861 additions and 23 deletions
|
|
@ -75,7 +75,8 @@
|
|||
| workplan | CUST-WP-0072 | finished | — | workplans/CUST-WP-0072-fleet-flavor-and-depends-on-backfill.md |
|
||||
| workplan | CUST-WP-0073 | blocked | — | workplans/CUST-WP-0073-agent-credential-separation.md |
|
||||
| workplan | CUST-WP-0074 | finished | — | workplans/CUST-WP-0074-qualified-wait-states.md |
|
||||
| workplan | CUST-WP-0075 | active | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| workplan | CUST-WP-0075 | finished | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| workplan | CUST-WP-0076 | proposed | — | workplans/CUST-WP-0076-provisioning-window-cadence.md |
|
||||
| workplan | THE-WP-0001 | finished | — | workplans/THE-WP-0001-federation-interface.md |
|
||||
| task | CUST-WP-ADHOC-2026-05-02-T01 | done | — | workplans/ADHOC-2026-05-02.md |
|
||||
| task | CUST-WP-ADHOC-2026-07-02-T01 | done | — | workplans/ADHOC-2026-07-02.md |
|
||||
|
|
@ -480,8 +481,9 @@
|
|||
| task | CUST-WP-0075-T02 | done | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T03 | done | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T04 | done | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T05 | progress | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T06 | wait | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T05 | done | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0075-T06 | done | — | workplans/CUST-WP-0075-dependency-graph-driven-unblocking.md |
|
||||
| task | CUST-WP-0076-T01 | wait | — | workplans/CUST-WP-0076-provisioning-window-cadence.md |
|
||||
| task | THE-WP-0001-T01 | done | — | workplans/THE-WP-0001-federation-interface.md |
|
||||
| task | THE-WP-0001-T02 | done | — | workplans/THE-WP-0001-federation-interface.md |
|
||||
| intake | CUST-IN-0001 | closed | green | intake-legacy-suggestions-migration.md |
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Decision packets — 2026-10-03
|
||||
|
||||
Ranked list of the founder decisions recorded by `CUST-WP-0075`. Each packet is one open hub decision. Every task it gates carries its `decision_id` in the owner repo, so resolving the decision (`POST /decisions/{id}/resolve`) raises C-40 on those tasks and their owners clear them.
|
||||
Ranked list of the founder decisions recorded by `CUST-WP-0075`. Each packet is one open hub decision. Tasks carry their `decision_id` in the owner repo. Resolving a decision raises C-40 for owner review; each concrete human act and verification must still be satisfied before its task can clear.
|
||||
|
||||
Rank is by what the decision unblocks per sitting, from the dependency graph in `docs/evidence/2026-10-03-dependency-graph-triage/`.
|
||||
|
||||
|
|
@ -101,3 +101,26 @@ Rank is by what the decision unblocks per sitting, from the dependency graph in
|
|||
- **Why this rank:** Low fan-in operator setups; defer freely.
|
||||
- **Unblocks:** TD-WP-0003, TD-WP-0004, FIN-WP-0005
|
||||
- **Gated tasks (5):** `TD-WP-0003-T01`, `TD-WP-0003-T06`, `TD-WP-0004-T05`, `FIN-WP-0005-T01`, `TD-WP-0003-T07`
|
||||
|
||||
## 2026-10-04 worker reconciliation: additional concrete human gates
|
||||
|
||||
These narrow decisions preserve the actual act; broad D1/D4/D5 dispositions
|
||||
do not substitute. All remain unresolved (`open` or automatically `escalated`) and their tasks remain `wait`.
|
||||
|
||||
| Task | Required act | Decision ID |
|
||||
| --- | --- | --- |
|
||||
| NK-WP-0011-T02 | Name an actual identity adoption demand and acceptance scope | `8a5d1eb8-b665-4d25-9742-a15ecfc87c0c` |
|
||||
| EMERGENT-WP-0002-T02 | Ratify the doctrine/adoption scope | `d20a9750-2b29-534e-8227-fb866581a6ca` |
|
||||
| RPF-WP-0035-T08 | Accept archive readback and interim bearer revocation evidence | `ab85ae8a-12a0-4945-ae64-1d3d86d5b26f` |
|
||||
| INFD-WP-0005-T05 | Accept requester ESO and runtime custody | `0d6792b6-59e4-4fa0-887a-c4e51ea8e131` |
|
||||
| INFD-WP-0005-T10 | Authorize the bounded rollout after prerequisites | `24b0c846-a58e-43bc-ab80-988180ddd2f9` |
|
||||
| FEP-WP-0009-T01 | Obtain independent human ratings | `6f698650-de45-4402-a84f-ea19ae5f96af` |
|
||||
| FLEX-WP-0020-T11 | Authorize old checkout deletion after soak; protected alias excluded | `e071b34e-c4d4-49d0-824d-2c58bb0ae496` |
|
||||
| FLEX-WP-0027-T03 | Record actual signed-in user acknowledgements | `e1868a8d-cad7-48c6-84d1-78a5a566d4a4` |
|
||||
| FLEX-WP-ADHOC-2026-10-03-T02 | Give the exact live fetch-pin change go-ahead | `877c268b-2089-42f1-a811-d98f549c1cb2` |
|
||||
| ACTIVITY-WP-0042-T08 | Accept and authorize actual consumer runtime refresh | `6110ead5-1831-4e20-aebd-ac1f978b503b` |
|
||||
|
||||
D3 (`1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa`) additionally retains the
|
||||
explicit P3 dual-control value-path choice under RPF-WP-0050-T02. The platform
|
||||
checklist is ready locally; date/cadence selection is the live residual
|
||||
CUST-WP-0076-T01 and platform return RPF-WP-0050-T03. No session is scheduled.
|
||||
|
|
|
|||
|
|
@ -61,3 +61,84 @@ Focused regression checks:
|
|||
```bash
|
||||
python3 -m unittest discover -s tests -p test_dependency_triage.py
|
||||
```
|
||||
|
||||
## Repository workers and reviewed handoffs
|
||||
|
||||
The founder authorized repo workers for the continuation. Dispatch and results
|
||||
are tracked in [worker-dispatch-2026-10-03.json](worker-dispatch-2026-10-03.json).
|
||||
Assignments cover owner proposal dispositions, qualifier reconciliation, and
|
||||
review of terminal predecessors. Workers preserve human gates and residuals;
|
||||
source preparation and owner handoff do not establish production acceptance.
|
||||
|
||||
After reviewing an owner's proposal reply, record its disposition in
|
||||
`owner-handoff-receipts.json`, keyed by the original proposal message UUID:
|
||||
|
||||
```json
|
||||
{
|
||||
"original-message-uuid": {
|
||||
"reply_message_id": "owner-reply-uuid",
|
||||
"disposition": "accepted",
|
||||
"reason": "Concrete proposal disposition and remaining scope",
|
||||
"owner_workplan_id": "OWNER-WP-NNNN",
|
||||
"owner_task_ids": ["OWNER-WP-NNNN-T01"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The monitor reads this file by default, or accepts `--handoff-receipts <path>`.
|
||||
Accepted and partially accepted dispositions require a non-residual owner plan
|
||||
and actual task records; a decline requires a reason. The reply must name the
|
||||
right owner, recipient and proposal thread. Unreviewed or unrelated replies
|
||||
leave the case waiting. A satisfied case closes the proposal handoff only;
|
||||
implementation tasks retain their statuses and authority boundaries.
|
||||
|
||||
The registry has stale or missing paths for four locally available checkouts.
|
||||
Use explicit overrides to cover them without changing registry authority:
|
||||
|
||||
```bash
|
||||
python3 scripts/monitor_dependency_triage.py --output /tmp/dependency-triage \
|
||||
--repo-path access-engine=/home/worsch/access-engine \
|
||||
--repo-path repo-manager=/home/worsch/repo-manager \
|
||||
--repo-path railiance-bootstrap=/home/worsch/railiance-bootstrap \
|
||||
--repo-path railiance-hosts=/home/worsch/railiance-hosts
|
||||
```
|
||||
|
||||
`registry.json` preserves the returned registry; `repos.json` is the effective
|
||||
local scan input. The report records overrides explicitly. The expanded scan
|
||||
found three additional unrouted Access Engine gates, assigned to its worker.
|
||||
`inter-hub` and `markitect-project` remain unavailable locally.
|
||||
|
||||
## 2026-10-04 worker close
|
||||
|
||||
The closing snapshot is [monitor-workers-2026-10-04.json](monitor-workers-2026-10-04.json),
|
||||
with its [authoritative graph view](file-view-workers-2026-10-04.txt). Across 146
|
||||
registered repos and 144 available checkouts, the visible non-residual view has
|
||||
106 open plans, 241 waits and 86 human gates. It has zero unrouted human gates,
|
||||
unqualified waits, terminal-predecessor waits or qualifier differences. All three
|
||||
proposal handoffs have reviewed original-thread dispositions and owner records.
|
||||
These are point-in-time results; continuing human/owner gates remain binding.
|
||||
|
||||
[Dispatch results](worker-dispatch-2026-10-03.json) name 19 affected repo scopes.
|
||||
[Selected UUID verification](owner-field-verification-2026-10-04.json) records
|
||||
28 qualifier/dependency rows; six human routes and three Activity/User waits were
|
||||
separately verified against their actual source blocks. Monitor regressions: 11
|
||||
pass. State Hub checker/CLI: 182 pass. Warden routing/plan: 118 pass. Platform
|
||||
renderer: 7 pass; existing suite retains one unrelated catalog exact-set failure
|
||||
(52/53), and its broad audit retains three historical C07 failures.
|
||||
|
||||
The two unavailable checkouts are inter-hub and markitect-project. Sixteen
|
||||
historical Vergabe task-fence fallback warnings remain. The original snapshot
|
||||
and earlier headline counts are historical evidence, not closing results.
|
||||
|
||||
Activity Core normal registrar sync remains blocked on historical labels and
|
||||
unsafe receiving derivation: see [read-only proof](activity-core-projection-read-proof.json)
|
||||
and [owner recommendation](activity-core-projection-route-recommendation.md).
|
||||
Current ACTIVITY0042 task UUIDs match source after the direct checker; that does
|
||||
not restore historical receiving preservation. The prepared registrar-only patch
|
||||
was not applied. Owner request `6bf8ca98-ada1-43ab-83e7-207d4ab195fe` and
|
||||
ACTIVITY-WP-0042-T08 retain that blocker. The checker also reports three rejected
|
||||
historical self-dependency writes; no legacy repair is claimed.
|
||||
|
||||
Live continuing records: STATE-WP-0094-T03/T04/T05, RPF-WP-0050-T02/T03/T04,
|
||||
WARDEN-WP-0041-T02/T03, and the unpromoted cadence residual CUST-WP-0076-T01.
|
||||
No schedule, custody choice, provisioning session or runtime rollout is inferred.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,430 @@
|
|||
{
|
||||
"commit": "8330501140aa12650f582f5832a643a472e37a8a",
|
||||
"legacy_derived": [
|
||||
{
|
||||
"record_id": "custodian-WP-0001",
|
||||
"derived_uuid": "de5de2a4-388c-5080-9aba-ca7c233e4a04",
|
||||
"relative_path": "workplans/custodian-WP-0001-temporal-backbone.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0002",
|
||||
"derived_uuid": "4f777d2b-4fba-5fc4-baf4-fb8bddd6fbf0",
|
||||
"relative_path": "workplans/custodian-WP-0002-triggers-ops.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0003",
|
||||
"derived_uuid": "683724d9-4249-5e0e-88e0-7baff4330d58",
|
||||
"relative_path": "workplans/archived/260707-custodian-WP-0003-event-bridge.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0003a",
|
||||
"derived_uuid": "644017c7-c5f2-5a64-81c3-d8ee806f8251",
|
||||
"relative_path": "workplans/custodian-WP-0003a-event-bridge-model-rules-registry.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0003b",
|
||||
"derived_uuid": "a5806df9-5b9a-50da-81c1-7e606076bed9",
|
||||
"relative_path": "workplans/custodian-WP-0003b-event-bridge-parser-workflow-triggers.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0003c",
|
||||
"derived_uuid": "6ead901c-bada-5816-9c8f-11341f45e9a4",
|
||||
"relative_path": "workplans/custodian-WP-0003c-event-bridge-context-integration.md",
|
||||
"task_count": 0
|
||||
},
|
||||
{
|
||||
"record_id": "custodian-WP-0004",
|
||||
"derived_uuid": "78881823-2f1d-5d47-88d5-d47ac612520b",
|
||||
"relative_path": "workplans/custodian-WP-0004-railiance-ops.md",
|
||||
"task_count": 0
|
||||
}
|
||||
],
|
||||
"missing_legacy_records": [
|
||||
{
|
||||
"kind": "workplan",
|
||||
"record_id": "custodian-WP-0003c",
|
||||
"uuid": "6ead901c-bada-5816-9c8f-11341f45e9a4"
|
||||
}
|
||||
],
|
||||
"stale_legacy_tasks": [
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "0a74f29f-c07d-4338-be90-e5cf4087261b",
|
||||
"title": "T10: Write activity_runs migration",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "107115b0-4476-424d-84ff-03992a85d40b",
|
||||
"title": "T02: Write ActivityDefinition schema (Pydantic + JSON Schema)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "1da921f5-86a8-488f-a015-402079194e10",
|
||||
"title": "T20: Wire up worker entrypoint",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "2417912f-845d-489a-ace4-fb9280d3b679",
|
||||
"title": "T15: Implement resolve_context activity (stub)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "3dc749eb-7a73-4199-9c8d-e8f31bac5372",
|
||||
"title": "T01: Define event envelope schema",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "47774e01-1026-478e-9a46-7d676bfed45c",
|
||||
"title": "T09: Write activity_definitions migration",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "491a6903-8189-43bb-958f-4d16abc84f8e",
|
||||
"title": "T11: Write task_instances migration",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "61cb7426-e0ec-4a52-870d-18a26b3c4f3e",
|
||||
"title": "T06: Add docker-compose.dev.yml to repo",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "70a7365f-3042-4770-b3cd-3c6724b0790d",
|
||||
"title": "T19: Implement TaskExecutorWorkflow (stub)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "70e7f742-378f-4129-a0f4-f25ccaccffd0",
|
||||
"title": "T05: Stand up Temporal via docker-compose",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "a03c823e-5873-4586-912a-6d1370383c7b",
|
||||
"title": "T04: Define Temporal namespace and task queue naming conventions",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "aa638595-0bca-41ab-b140-b077d05994e1",
|
||||
"title": "T03: Document idempotency contract",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "b05f046f-a6ba-4d96-a298-a0bbea067427",
|
||||
"title": "T14: Implement load_activity_definition activity",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "b7decbb6-ad2b-4fa5-8efc-05a7eb435d76",
|
||||
"title": "T16: Implement evaluate_templates (pure function)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "d9fe3e54-ec1a-4e23-aa76-d8869f4e024d",
|
||||
"title": "T08: Choose and configure DB migration tool",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "e019cb5a-adf0-4a5d-9410-c41810128190",
|
||||
"title": "T17: Implement log_run activity",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "e0205c56-1d40-4142-952b-e27ff6a44e1d",
|
||||
"title": "T13: Scaffold Python worker project",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "f24662ff-4a26-48bd-b997-57e7586c7f11",
|
||||
"title": "T12: Seed one example ActivityDefinition",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "f28a405d-ddcc-44d8-b443-f26f3ab34eaa",
|
||||
"title": "T07: Smoke test Temporal cluster and UI",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "f72bba1a-eb24-496e-9498-f4676facc5c9",
|
||||
"title": "T21: Manual end-to-end test",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "fb6b3440-47d2-4b0a-97c1-6e780cc497c4",
|
||||
"title": "T18: Implement RunActivityWorkflow",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0001",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "00231668-95c5-447f-b3d0-1fb8c20b487f",
|
||||
"title": "T24: Handle misfire policy in schedule config",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "0eafb60c-f00e-4fd7-a921-7de75fcfe81e",
|
||||
"title": "T31: Wire Temporal SDK metrics to Prometheus",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "5a1f7fa3-acb9-4f60-9892-c9eaa120272e",
|
||||
"title": "T23: Bootstrap script to sync schedules on startup",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "68b6610b-159c-4f1c-92a9-7128efea0961",
|
||||
"title": "T26: Implement Event Router service",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "766d602d-1b23-4247-a46d-03c0d3b8e498",
|
||||
"title": "T33: Write operational runbook",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "7abfd375-ea9d-4209-8371-e5664dc2c6c4",
|
||||
"title": "T25: Test schedule pause/resume lifecycle",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "7bdfc5c2-1f06-4fce-aac3-fae036dcb47e",
|
||||
"title": "T32: Tag workflows with activity_id for Temporal visibility search",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "7f10b5a3-7cad-4914-b603-d57508c85629",
|
||||
"title": "T29: Integration test: publish event \u2192 observe workflow run",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "9348efea-a7e9-4f92-b866-8fc82cf28fee",
|
||||
"title": "T27: Implement routing rules (event.type + filters \u2192 activity_ids)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "b27e54a1-5dcc-476d-8f4a-c995aea6a8c2",
|
||||
"title": "T30: REST API (FastAPI): CRUD for ActivityDefinition",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "cac1f45a-7391-471a-9566-97cdbd96eb2d",
|
||||
"title": "T28: Start/signal workflow from Event Router",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "e50550d1-9904-41d7-afd8-492a1f1e91b8",
|
||||
"title": "T22: Write schedule_manager.py",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0002",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "2a2a8d02-19dc-4b09-8792-f855ed48388a",
|
||||
"title": "[repo:activity-core] T61: .env.example \u2014 complete env var reference",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "2a81f9ba-47cb-480f-a5d3-af74fe238485",
|
||||
"title": "[repo:activity-core] T58: Dockerfile (multi-stage, uv-based)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "55ac37b5-5606-42e5-bf11-e8dae3a188b7",
|
||||
"title": "[repo:activity-core] T62: Makefile ops targets",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "65b3229b-5f03-450d-a263-f2c205be3d28",
|
||||
"title": "[repo:activity-core] T63: SIGTERM graceful shutdown (worker + event_router)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "67981de4-b766-4c47-9985-9573297ac464",
|
||||
"title": "[repo:activity-core] T59: docker-compose.railiance.yml (full stack, no Elasticsearch)",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "7c7a1617-29e9-4ea5-a675-fd75e325c451",
|
||||
"title": "[repo:activity-core] T60: GET /health endpoint",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"uuid": "83dcd765-5715-499f-be23-f728d0261cfb",
|
||||
"title": "[repo:activity-core] T64: docs/runbook.md \u2014 railiance deployment section",
|
||||
"status": "done",
|
||||
"workplan": "custodian-WP-0004",
|
||||
"has_backing_file": false
|
||||
}
|
||||
],
|
||||
"activity_0042_selected_parity": [
|
||||
{
|
||||
"record_id": "ACTIVITY-WP-0042-T05",
|
||||
"uuid": "a2d95c80-bfc5-54b7-9987-ad3571d9c75f",
|
||||
"fields": {
|
||||
"needs_human": false,
|
||||
"blocking_reason": "Platform owner must accept the candidate request/receipt contract, execution authority checks, limits and credential scope before runtime wiring.",
|
||||
"decision_id": null,
|
||||
"blocked_on": "message-from:railiance-platform",
|
||||
"wait_until": null,
|
||||
"status": "wait"
|
||||
},
|
||||
"differences": {
|
||||
"blocked_on": {
|
||||
"file": "message-from:railiance-platform",
|
||||
"hub": null
|
||||
}
|
||||
},
|
||||
"source_depends_on": [],
|
||||
"projected_task_edges": []
|
||||
},
|
||||
{
|
||||
"record_id": "ACTIVITY-WP-0042-T08",
|
||||
"uuid": "020d19be-0576-5052-ad35-14b1d5a48fe1",
|
||||
"fields": {
|
||||
"needs_human": true,
|
||||
"blocking_reason": "KV4 provider repair is delivered. Current exact-primary projection needs repo-manager historical-prefix acceptance (owner request 6bf8ca98-ada1-43ab-83e7-207d4ab195fe); separate approved CNPG hostPath/Forgejo GitOps bundle delivery, ESO/env refresh and native consumer receipt remain. Founder per-change go is required before live promotion.",
|
||||
"decision_id": "6110ead5-1831-4e20-aebd-ac1f978b503b",
|
||||
"blocked_on": "message-from:repo-manager",
|
||||
"wait_until": null,
|
||||
"status": "wait"
|
||||
},
|
||||
"differences": {
|
||||
"needs_human": {
|
||||
"file": true,
|
||||
"hub": false
|
||||
},
|
||||
"blocking_reason": {
|
||||
"file": "KV4 provider repair is delivered. Current exact-primary projection needs repo-manager historical-prefix acceptance (owner request 6bf8ca98-ada1-43ab-83e7-207d4ab195fe); separate approved CNPG hostPath/Forgejo GitOps bundle delivery, ESO/env refresh and native consumer receipt remain. Founder per-change go is required before live promotion.",
|
||||
"hub": "Provider repair verified: lane KV4 coordinates-only CAS, encrypted upload/readback and independent decryption. Remaining reviewed consumer source/env refresh and acceptance unperformed; exact primary projection blocked by existing repo-manager historical identifier compatibility."
|
||||
},
|
||||
"decision_id": {
|
||||
"file": "6110ead5-1831-4e20-aebd-ac1f978b503b",
|
||||
"hub": null
|
||||
},
|
||||
"blocked_on": {
|
||||
"file": "message-from:repo-manager",
|
||||
"hub": null
|
||||
}
|
||||
},
|
||||
"source_depends_on": [],
|
||||
"projected_task_edges": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
# Activity Core: preserve historical identities while projecting current work
|
||||
|
||||
The October 4 `rmgr sync --path /home/worsch/activity-core --push` failure occurs
|
||||
before any HTTP reconcile call. `ensure_missing_work_record_identifiers()` rejects
|
||||
seven workplan labels as invalid: `custodian-WP-0001`, `0002`, `0003`, `0003a`,
|
||||
`0003b`, `0003c`, and `0004`. There are no reported identity collisions. This is
|
||||
the existing owner request `6bf8ca98-ada1-43ab-83e7-207d4ab195fe`, already referenced
|
||||
by ACTIVITY-WP-0042-T08; RMGR-WP-0014/0015 completion does not cover these labels.
|
||||
|
||||
All seven files are closed historical evidence (legacy `done`, or `archived`)
|
||||
and already carry UUID bindings. The primary snapshot confirms four retained
|
||||
workplans: foundation e22516cc-4fdf-4dad-a928-a9e04a9fa7c7, triggers
|
||||
3a4f47d9-8bc1-434e-acb4-bed5d4dacda0, event bridge
|
||||
b4eb45a9-69e3-4ab0-b00c-67a53c3117c5, and ops
|
||||
759b1255-aa78-42b5-8fab-c5fcf168f5f4. The archived 0003 container and split
|
||||
0003a/0003b/0003c files share the event-bridge UUID; the owner must explicitly
|
||||
audit and preserve that historical mapping rather than treating them as four
|
||||
new workstreams.
|
||||
|
||||
Minimal supported repair belongs to Repo Manager: extend its bounded historical
|
||||
binding-preservation path for these exact activity-core source records, terminal
|
||||
statuses and existing valid UUIDs. Keep strict conformance reporting, reject new
|
||||
or active uses, missing bindings and conflicting claims, and test that no source
|
||||
label/UUID or primary identity changes. If registry grandfathering is used, update
|
||||
the authoritative canon and Repo Manager's machine copy consistently; do not
|
||||
introduce a general lowercase-prefix allowance. Verify the shared event-bridge
|
||||
mapping in a read-only derive/merge test against the actual primary snapshot.
|
||||
|
||||
After owner acceptance, use the existing supported route:
|
||||
|
||||
```sh
|
||||
uv run --project /home/worsch/repo-manager rmgr sync --path /home/worsch/activity-core --push
|
||||
```
|
||||
|
||||
That route verifies clean authoritative files, preserves existing managed IDs,
|
||||
checks the pushed Forge commit and primary/railiance01 identity, then calls
|
||||
`POST /repos/activity-core/work-record-projection/reconcile` with the exact
|
||||
expected_commit and retirement acknowledgement false. Validate the returned
|
||||
exact-commit primary receipt and independently read back ACTIVITY-WP-0042-T05/T08
|
||||
dependency/qualifier fields by UUID.
|
||||
|
||||
Do not rename legacy workplans, allocate replacement UUIDs, bypass the rejected
|
||||
identifier gate with an ad-hoc API call, acknowledge retirements, or claim current
|
||||
projection from a successful Git push alone. No source or runtime changes were
|
||||
made for this recommendation.
|
||||
|
||||
Read-only receiving proof subsequently failed preservation. The current pure
|
||||
derive/diff path, evaluated against the actual primary snapshot, reports one
|
||||
missing legacy workplan (`custodian-WP-0003c`) and 40 stale legacy tasks. The
|
||||
historical files store tasks in frontmatter YAML lists, which the current Forge
|
||||
parser omits. This prevents a registrar-only repair from proving safe normal
|
||||
projection. Retain owner request 6bf8ca98-ada1-43ab-83e7-207d4ab195fe; do not apply
|
||||
the prepared preflight-only patch or call normal sync restored. Receiving
|
||||
preservation needs owner work before the next normal reconcile can proceed.
|
||||
Proof: /tmp/activity-core-projection-read-proof.json and its read-only generating
|
||||
script /tmp/activity-core-projection-read-proof.py. Neither writes to the hub.
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
# Platform owner acceptance for CUST-WP-0075 P2/P3
|
||||
|
||||
Recorded 2026-10-04. Original proposal thread: `f84637fa-2355-4971-a2dc-7f1fd01710a8`.
|
||||
Owner response: `981a20fc-315b-4fd8-9783-9c3460a4840d`.
|
||||
Progress receipt: `c96e614c-ae9c-41c5-8be6-09b1c8a44ffa`.
|
||||
|
||||
Platform accepts bounded source preparation in `RPF-WP-0050`, workplan UUID
|
||||
`0c7e3b0c-1c36-568c-af51-b06f912a0f1d`. Implementation commit `46eb8be`;
|
||||
managed-ID finalization `23822658de3018e7b47ba8f9f3f37dcfc1dee210`, verified applied
|
||||
on State Hub primary/railiance01 with expected commit equal to derived commit.
|
||||
The installed CLI additionally generated brief commit `80c9e98`; no task status
|
||||
was changed by that generated commit.
|
||||
|
||||
## Delivered P2 source preparation
|
||||
|
||||
`RPF-WP-0050-T01` (`43fac4d5-98de-5469-ac86-c8925ea3a31b`) is done.
|
||||
`credential-change.py window-checklist` joins open authoritative non-residual task
|
||||
blocks carrying the exact decision UUID to an explicit dated metadata manifest of
|
||||
CCR/lane/owner-receipt-contract files. Missing joins, stale task IDs, duplicates,
|
||||
non-approved/applied CCRs and outside-repository contract paths prevent a complete
|
||||
checklist. It never executes, schedules or acquires credentials, and it does not
|
||||
print arbitrary CCR content. REVIEW PREPARED means source joins exist; exact
|
||||
revision, upstream acceptance, current native readiness and founder execution
|
||||
approval remain required. Explicit workplan roots define the checked scope.
|
||||
|
||||
Seven new renderer regressions pass; CLI help and diff checks pass. Existing
|
||||
credential-change suite: 52/53 pass, with an unrelated exact catalog-set assertion
|
||||
rejecting existing `repo-manager-forgejo-source`. No broad suite pass is claimed.
|
||||
The CLI deep audit retained three historical retired-workstream C07 failures.
|
||||
`--no-writeback` suppresses database-to-file status changes; generated briefs
|
||||
and managed identifiers can still be written. Direct checker later hit read-only brief
|
||||
write failure. Routine repo-manager exact-primary projection succeeded, and every
|
||||
affected qualifier was independently verified by direct task GET.
|
||||
|
||||
## Remaining live owner obligations
|
||||
|
||||
- `RPF-WP-0050-T02` (`99b73b3f-66b1-57a9-9f68-43e3fe12bf26`): wait,
|
||||
needs_human=true, decision `1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa`. Founder must
|
||||
explicitly choose the P3 value path: batched attended custody, response-wrapped
|
||||
issuer delivery or scoped MFA silent writer, with exact actor/path/audience,
|
||||
lifetime, audit, replay/crash cleanup and rollback. Generic D3 resolution without
|
||||
that specific disposition does not satisfy this task. Current attended custody
|
||||
remains in force.
|
||||
- `RPF-WP-0050-T03` (`1ae5a6b8-9c83-5813-982f-ca8ad24be8b5`): wait,
|
||||
blocked_on=message-from:the-custodian. Custodian owes reviewed scope, date and
|
||||
cadence before a real manifest/window is assembled. Per-lane exact founder
|
||||
execution approval remains separate. No recurring event is enabled.
|
||||
- `RPF-WP-0050-T04` (`6475d924-92c6-504a-b9a1-4f035273f0e1`): todo. Warden P4
|
||||
contract is source-reviewed and accepted; platform precise request schema,
|
||||
CCR/policy-role/ESO/evidence scaffold and cross-owner fixture remain. No mutual
|
||||
Warden return wait remains and no end-to-end delivery is claimed.
|
||||
- `RPF-WP-0035-T08` (`0ef52c26-2669-5cd1-8149-b1f6fcdda6cb`): wait,
|
||||
needs_human=true, accurate decision `ab85ae8a-12a0-4945-ae64-1d3d86d5b26f`.
|
||||
Provision/delivery/receiver acceptance already passed on 2026-09-11. Remaining
|
||||
independent archive readback and coordinated interim bearer revocation acceptance
|
||||
are distinct acts. It must not return to D1 or replay applied custody.
|
||||
|
||||
## Custodian handoff required before finishing CUST-WP-0075
|
||||
|
||||
Yes: if CUST-WP-0075 finishes while the cadence/date/scope obligation above remains,
|
||||
it needs a Custodian-owned live residual record, unless an existing active owner
|
||||
record already explicitly owns those acts. A platform task waiting on Custodian
|
||||
cannot itself provide the Custodian source record. A prose mention here does not
|
||||
satisfy residual handoff.
|
||||
|
||||
The minimum bounded record should own: choose and review the cadence and actual
|
||||
first-window date/scope; confirm authoritative owner roots and eligible CCR/lane/
|
||||
receipt mappings; send the reviewed return to platform on the proposal thread,
|
||||
naming its owner work-record/task ID; replace platform's message-only wait with that
|
||||
exact dependency where appropriate. Keep actual scheduling, founder attended
|
||||
execution approval and each lane's proof separate. P3 remains the platform-owned
|
||||
human decision task, and P4 remains platform/Warden source work; do not duplicate
|
||||
those implementations in Custodian.
|
||||
|
||||
Use `origin: residual` and `origin_ref: CUST-WP-0075` on an intake, or an appropriate
|
||||
next workplan with `flavor: residual`; select its canonical ID through the repository
|
||||
convention. Residuals stay unimplemented until promoted by demand/risk. No cadence
|
||||
is chosen or event scheduled by this acceptance artifact. Attach its live handoff
|
||||
ID to CUST-WP-0075 before status finished, and name it in the final progress receipt.
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
files: workplans 1426 open 114 Counter({'blocked': 105, 'backlog': 5, 'active': 2, 'proposed': 1, 'ready': 1})
|
||||
open tasks Counter({'done': 283, 'wait': 258, 'todo': 38, 'cancel': 6})
|
||||
|
||||
=== A. satisfied waits in open workplans (file view) ===
|
||||
|
||||
=== B. blocked workplans without any wait task ===
|
||||
|
||||
=== B2. non-blocked open workplans whose only open tasks are wait ===
|
||||
CUST-WP-0076 the-custodian proposed 1
|
||||
FEP-WP-0003 frontend-patterns backlog 2
|
||||
FEP-WP-0004 frontend-patterns backlog 3
|
||||
FEP-WP-0006 frontend-patterns backlog 1
|
||||
|
||||
=== B3. open workplans with zero open tasks ===
|
||||
|
||||
=== C. unqualified waits in open non-residual workplans ===
|
||||
|
||||
=== E. roots by transitive open-workplan fan-in (file view) ===
|
||||
9 SAND-WP-0015-T04 wait h=False on=message-from:railiance-platform dec=None | Credential owner railiance-platform/OpenBao with rein-aharness must es
|
||||
-> ACTIVITY-WP-0032, CUST-WP-0073, EMERGENT-WP-0002, FEP-WP-0008, FI-WP-0005, GLAS-WP-0012, LLM-WP-0009, REINAH-WP-0003, SAND-WP-0014
|
||||
7 SECRETS-WP-0009-T03 wait h=False on=message-from:glas-harness dec=None | Native apply/verify and credential delivery/revocation completed; owne
|
||||
-> ACTIVITY-WP-0032, CUST-WP-0073, EMERGENT-WP-0002, FEP-WP-0008, GLAS-WP-0012, LLM-WP-0009, REINAH-WP-0003
|
||||
6 GLAS-WP-0012 WP blocked glas-harness
|
||||
-> ACTIVITY-WP-0032, CUST-WP-0073, EMERGENT-WP-0002, FEP-WP-0008, LLM-WP-0009, REINAH-WP-0003
|
||||
4 FEP-WP-0009-T01 wait h=True on=None dec=6f698650-de45-4402-a84f-ea19ae5f96af | Needs an independent human reviewer to rate the masked pilot-01 answer
|
||||
-> FEP-WP-0003, FEP-WP-0004, FEP-WP-0006, FEP-WP-0008
|
||||
4 FEP-WP-0009-T02 todo
|
||||
-> FEP-WP-0003, FEP-WP-0004, FEP-WP-0006, FEP-WP-0008
|
||||
4 NK-WP-0040 WP blocked net-kingdom
|
||||
-> RAIL-HO-WP-0013, RCLK-WP-0002, RCLK-WP-0004, RCLK-WP-0005
|
||||
3 FLUID-WP-0008 WP blocked fluid-core
|
||||
-> FLUID-WP-0009, FT-WP-0001, FT-WP-0002
|
||||
3 FLUID-WP-0008-T02 wait h=True on=None dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator registers the bot via BotFather and stores the to
|
||||
-> FLUID-WP-0009, FT-WP-0001, FT-WP-0002
|
||||
3 FLUID-WP-0008-T03 wait h=True on=None dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator creates the private test channel, then the public
|
||||
-> FLUID-WP-0009, FT-WP-0001, FT-WP-0002
|
||||
3 RAPPS-WP-0014-T03 wait h=True on=None dec=d06307e5-2737-461a-a2f4-a12c3b492a9a | Await populated two-user/document workflow, coherent PostgreSQL/media/
|
||||
-> CUST-WP-0071, USER-WP-0027, VERGABE-WP-0019
|
||||
3 RCLK-WP-0002 WP blocked railiance-clock
|
||||
-> RAIL-HO-WP-0013, RCLK-WP-0004, RCLK-WP-0005
|
||||
2 FT-WP-0001-T12 todo
|
||||
-> FLUID-WP-0009, FT-WP-0002
|
||||
2 HFACT-WP-0001-T01 wait h=True on=None dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Exact one-cycle runtime is installed and synthetically proved on works
|
||||
-> LLM-WP-0009, VERGABE-WP-0018
|
||||
2 IR-WP-0005-T02 wait h=True on=message-from:secrets-engine dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Human acceptance of three apply/verify/exec approvals for the pinned i
|
||||
-> IR-WP-0006, IR-WP-0007
|
||||
2 RAIL-FAB-WP-0028 WP blocked railiance-fabric
|
||||
-> RAIL-FAB-WP-0029, RAPP-TELEMETRY-WP-0001
|
||||
2 RAIL-HO-WP-0013 WP blocked railiance-infra
|
||||
-> RCLK-WP-0004, RCLK-WP-0005
|
||||
2 RAPPCOREHUB-WP-0002-T05 wait h=True on=None dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Operator approval after final backup/delta verification; seven-day sta
|
||||
-> CORE-WP-0010, HUB-WP-0012
|
||||
2 SECRETS-WP-0006-T05 wait h=True on=message-from:railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | OpenRouter key-check native acceptance is recorded in SECRETS-WP-0010-
|
||||
-> SECRETS-WP-0007, WARDEN-WP-0037
|
||||
2 USER-WP-0026-T03 wait h=False on=message-from:net-kingdom dec=None | Needs a provider-owned workload catalogue and application access decis
|
||||
-> USER-WP-0027, USER-WP-0028
|
||||
1 ACTIVITY-WP-0041 WP blocked activity-core
|
||||
-> RPF-WP-0048
|
||||
1 ACTIVITY-WP-0042 WP blocked activity-core
|
||||
-> RPF-WP-0036
|
||||
1 ACTIVITY-WP-0042-T05 wait h=False on=message-from:railiance-platform dec=None | Platform owner must accept the candidate request/receipt contract, exe
|
||||
-> RPF-WP-0036
|
||||
1 KG-WP-0005-T03 wait h=False on=message-from:qonto-assistant dec=None | Operational evidence from an authorized deployed qonto-assistant proce
|
||||
-> QONTO-WP-0006
|
||||
1 MASON-WP-0005-T02 todo
|
||||
-> RPF-WP-0035
|
||||
1 NK-WP-0003 WP completed net-kingdom
|
||||
-> NK-WP-0011
|
||||
1 NK-WP-0004 WP done net-kingdom
|
||||
-> NK-WP-0011
|
||||
1 NK-WP-0022 WP blocked net-kingdom
|
||||
-> RMASTER-WP-0020
|
||||
1 RCLK-WP-0005 WP blocked railiance-clock
|
||||
-> RCLK-WP-0004
|
||||
1 RCLK-WP-0005-T04 wait h=False on=message-from:railiance-bootstrap dec=None | Bootstrap owner fresh-estate and upgrade rehearsal, failed-time gate a
|
||||
-> RCLK-WP-0004
|
||||
1 REINAH-WP-0003-T04 wait h=False on=message-from:activity-core dec=None | Migration of profile-absent FI/Binky definitions with Activity Core, k
|
||||
-> LLM-WP-0009
|
||||
1 REINAH-WP-0003-T05 todo
|
||||
-> LLM-WP-0009
|
||||
1 RPF-WP-0035-T02 wait h=True on=message-from:key-cape dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | SECRETS-WP-0007-T04 done 2026-09-27, so that gate is open. Real blocke
|
||||
-> SECRETS-WP-0008
|
||||
1 RPF-WP-0044-T03 wait h=True on=None dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Adopted 2026-09-21; the follow-on step (issue-core adoption, then auto
|
||||
-> RPF-WP-0043
|
||||
1 RPF-WP-0044-T04 wait h=True on=message-from:rapp-issue-core dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead plus rapp-issue-core's agreement (hub message) that A
|
||||
-> RPF-WP-0043
|
||||
1 RPF-WP-0044-T05 wait h=True on=None dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Adopted 2026-09-21; remaining preconditions and the next step wait on
|
||||
-> RPF-WP-0043
|
||||
1 RPF-WP-0044-T06 wait h=True on=None dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead for the ESO adoption after adding CRD Prune=false,Del
|
||||
-> RPF-WP-0043
|
||||
1 RPF-WP-0050-T04 todo
|
||||
-> WARDEN-WP-0041
|
||||
1 RTEL-WP-0002 WP blocked railiance-telemetry
|
||||
-> RPF-WP-0036
|
||||
1 STATE-WP-0079 WP blocked state-hub
|
||||
-> HUB-WP-0006
|
||||
1 STATE-WP-0079-T04 todo
|
||||
-> HUB-WP-0006
|
||||
1 STATE-WP-0079-T05 wait h=False on=None dec=None | Legacy-meter evidence must cover a full week (capture fixed 2026-08-20
|
||||
-> HUB-WP-0006
|
||||
1 UPC-WP-0002 WP blocked prj-unattended-progress-company
|
||||
-> UPC-WP-0004
|
||||
1 VERGABE-WP-0019 WP blocked vergabe-teilnahme
|
||||
-> USER-WP-0027
|
||||
1 WARDEN-WP-0034 WP blocked ops-warden
|
||||
-> WARDEN-WP-0040
|
||||
|
||||
=== F. cycles (file view) ===
|
||||
|
||||
=== G. human gates by fan-in ===
|
||||
4 FEP-WP-0009-T01 frontend-patterns dec=6f698650-de45-4402-a84f-ea19ae5f96af | Needs an independent human reviewer to rate the masked pilot-01 answers; no model may supply or infer these sc
|
||||
3 FLUID-WP-0008-T02 fluid-core dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator registers the bot via BotFather and stores the token in OpenBao.
|
||||
3 FLUID-WP-0008-T03 fluid-core dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator creates the private test channel, then the public channel.
|
||||
3 RAPPS-WP-0014-T03 railiance-apps dec=d06307e5-2737-461a-a2f4-a12c3b492a9a | Await populated two-user/document workflow, coherent PostgreSQL/media/issue-state off-host recovery point, iso
|
||||
2 IR-WP-0005-T02 intelligence-radar dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Human acceptance of three apply/verify/exec approvals for the pinned intelligence-radar-key-check recipient; s
|
||||
2 HFACT-WP-0001-T01 prj-helixforge-factory dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Exact one-cycle runtime is installed and synthetically proved on workstation and Railiance; independent pilot
|
||||
2 RAIL-HO-WP-0013-T04 railiance-infra dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Depends on T03 and reviewed live-host authorization.
|
||||
2 RAPPCOREHUB-WP-0002-T05 rapp-core-hub dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Operator approval after final backup/delta verification; seven-day stabilization window from 2026-08-21.
|
||||
2 SECRETS-WP-0006-T05 secrets-engine dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | OpenRouter key-check native acceptance is recorded in SECRETS-WP-0010-T03. Other lanes still need exact approv
|
||||
1 NK-WP-0022-T08 net-kingdom dec=5d8dcdb5-6d7b-463e-bb39-0a4737331403 | Explicit approval, rollback retention window expiry and one successful railiance01 restore/restart drill befor
|
||||
1 STATE-WP-0079-T06 state-hub dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Stopping the primary is a founder decision; needs T04 handoffs and T05 retirement first; legacy meter still ha
|
||||
1 ACTIVITY-WP-0042-T03 activity-core dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder must confirm whether activity-core's backup worker is the atm-backup-daily unit before declaring to op
|
||||
1 ACTIVITY-WP-0042-T08 activity-core dec=6110ead5-1831-4e20-aebd-ac1f978b503b | KV4 provider repair is delivered. Current exact-primary projection needs repo-manager historical-prefix accept
|
||||
1 ACTIVITY-WP-0041-T02 activity-core dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Adopted 2026-09-27 (manual sync); automated sync waits on RPF-WP-0048-T02: soak evidence plus founder confirma
|
||||
1 ACTIVITY-WP-0041-T03 activity-core dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder approves the exact autonomous scope: merge paths, tests, images, ceilings, stop conditions, rollback,
|
||||
1 FT-WP-0001-T01 fluid-telegram dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator registers the HelixForge bot via BotFather.
|
||||
1 FT-WP-0001-T02 fluid-telegram dec=7f455718-66c9-4049-9aaf-1143aea39d34 | Human step: operator creates the private test and public channels.
|
||||
1 HFACT-WP-0001-T03 prj-helixforge-factory dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | September 16 native OpenRouter receipt resolves the generic requester, operator-reader, deployed approval and
|
||||
1 UPC-WP-0002-T01 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Founder must execute OH-2026-001…005 (Orange/Red) in binky-control and record the outcome; all five still `pre
|
||||
1 UPC-WP-0002-T02 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Founder must execute OH-2026-001…005 (Orange/Red) in binky-control and record the outcome; all five still `pre
|
||||
1 UPC-WP-0002-T03 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Founder must execute OH-2026-001…005 (Orange/Red) in binky-control and record the outcome; all five still `pre
|
||||
1 UPC-WP-0002-T04 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Founder must execute OH-2026-001…005 (Orange/Red) in binky-control and record the outcome; all five still `pre
|
||||
1 RCLK-WP-0005-T05 railiance-clock dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Disposable VM proof after T02/T03, then specifically authorized native verification through the S1 owner.
|
||||
1 RPF-WP-0048-T02 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | 24h soak after adoption, then founder confirmation of the scoped identity and checks before automated sync; AC
|
||||
1 RPF-WP-0044-T03 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Adopted 2026-09-21; the follow-on step (issue-core adoption, then automation) waits on the founder's go-ahead.
|
||||
1 RPF-WP-0044-T04 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead plus rapp-issue-core's agreement (hub message) that ArgoCD owns production and make deploy st
|
||||
1 RPF-WP-0044-T05 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Adopted 2026-09-21; remaining preconditions and the next step wait on the founder's go-ahead.
|
||||
1 RPF-WP-0044-T06 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead for the ESO adoption after adding CRD Prune=false,Delete=false and re-running the diff.
|
||||
1 RPF-WP-0044-T07 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead to restore automated prune/selfHeal on railiance-apps-root once T03-T06 are proven.
|
||||
1 RPF-WP-0035-T02 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | SECRETS-WP-0007-T04 done 2026-09-27, so that gate is open. Real blocker: live KeyCape registration of client s
|
||||
1 VERGABE-WP-0019-T06 vergabe-teilnahme dec=d06307e5-2737-461a-a2f4-a12c3b492a9a | Source and live SSO/recovery are delivered, and one founder sign-in passed September 24. Await invited recipie
|
||||
0 MARKITECT-WP-0002-T07 markitect-main dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Registry ownership/access and npm/CDN publication receipts from the standalone maintainer.
|
||||
0 NK-WP-0042-T02 net-kingdom dec=cef97ccd-4ee7-40fe-859e-1df9c9360ecb | Agree the MFA-required user experience with user-engine and one pilot workload; must be accepted from a user's
|
||||
0 NK-WP-0011-T02 net-kingdom dec=8a5d1eb8-b665-4d25-9742-a15ecfc87c0c | ADR-0009 adoption trigger absent; then railiance-platform/rapp-postgres must admit the database consumer and r
|
||||
0 CUST-WP-0076-T01 the-custodian dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Operator must select the concrete attended provisioning scope, date and any recurrence; the checklist renderer
|
||||
0 CUST-WP-0073-T05 the-custodian dec=1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa | Deferred by founder decision 2026-09-24; reopened only by the founder on one of the three triggers below, in o
|
||||
0 FLEX-WP-0027-T03 access-engine dec=e1868a8d-cad7-48c6-84d1-78a5a566d4a4 | Needs the operator's exact signed-in account and actual human acknowledgements; synthetic policy checks are no
|
||||
0 FLEX-WP-0020-T11 access-engine dec=e071b34e-c4d4-49d0-824d-2c58bb0ae496 | Soak window after T10; destructive cleanup needs separate human approval.
|
||||
0 FLEX-WP-ADHOC-2026-10-03-T02 access-engine dec=877c268b-2089-42f1-a811-d98f549c1cb2 | Live railiance01 change; founder go needed for CI image digest, helm install and tunnel.
|
||||
0 EMERGENT-WP-0002-T02 emergent-security dec=d20a9750-2b29-534e-8227-fb866581a6ca | Cross-owner doctrine ratification and human exact-packet adoption remain pending; local boundary implementatio
|
||||
0 FIN-WP-0005-T01 fin-hub dec=b6a44b55-8d10-4b96-8a71-524a0c34d2f3 | Operator and Steuerbuero confirm the Qonto plan, DATEV tenant, master-data owner, workflow and retention polic
|
||||
0 FT-WP-0002-T01 fluid-telegram dec=7f455718-66c9-4049-9aaf-1143aea39d34 | An operator registers a dedicated account, obtains api_id/api_hash and runs the guided session bootstrap; neve
|
||||
0 GLAS-WP-0015-T03 glas-harness dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Await owner returns: secrets-engine config, holder admission, lane approvals and scoped delivery; operator inp
|
||||
0 HOH-WP-0002-T04 hall-of-helix dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Publishing 102 internal seats is an irreversible outward change; corpus review and disposition are the founder
|
||||
0 HUB-WP-0012-T06 hub-core dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | T04/T05 live admission and Railiance/platform owners' attended receipts
|
||||
0 INFD-WP-0005-T05 informed-decision dec=0d6792b6-59e4-4fa0-887a-c4e51ea8e131 | Requester CLIENT_SECRET must reach the review pod by ESO (railiance-platform, msg cd811073) and the custody ch
|
||||
0 INFD-WP-0005-T10 informed-decision dec=24b0c846-a58e-43bc-ab80-988180ddd2f9 | Live rollout of intake, admission branch and write-back flag needs the founder's go
|
||||
0 MASON-WP-0005-T03 ops-mason dec=e9f44beb-ad15-4285-8996-1e66d312fe59 | Explicit human approval of the plan (status: approved, approved_by, approved_at) after the live survey.
|
||||
0 MASON-WP-0006-T06 ops-mason dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Dated review 2026-12-21: platform confirms policy-nexus ArgoCD onboarding; founder reviews the plan-approval e
|
||||
0 MASON-WP-0004-T01 ops-mason dec=e9f44beb-ad15-4285-8996-1e66d312fe59 | Founder ruling on the genuinely unclear paths; no scoped metadata grant or complete inventory yet.
|
||||
0 MASON-WP-0004-T02 ops-mason dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Requires a valid scoped metadata grant (operator) before the described paths can be written and verified.
|
||||
0 WARDEN-WP-0027-T02 ops-warden dec=1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa | Trust-root design is a founder decision: who holds unseal shares and recovery keys, quorum, break-glass invoca
|
||||
0 WARDEN-WP-0039-T03 ops-warden dec=None | Code side done 2026-10-03 (policy.fetch_flex_auth_url). Waits on founder go: deploy access-engine pin flex-aut
|
||||
0 WARDEN-WP-0037-T03 ops-warden dec=1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa | Founder HOLD 2026-09-21: no rotation until SECRETS-WP-0006-T06 moves the publish lane off the legacy whynot-de
|
||||
0 UPC-WP-0004-T02 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Publish gates: IP ownership, domain, Impressum (founder) and G1 via UPC-WP-0002; DEC-2026-006 approved as prep
|
||||
0 UPC-WP-0004-T03 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Publish gates: IP ownership, domain, Impressum (founder) and G1 via UPC-WP-0002; DEC-2026-006 approved as prep
|
||||
0 UPC-WP-0003-T03 prj-unattended-progress-company dec=42ad2ad5-600c-41c0-a627-cad4b0d1a29b | Needs ≥30 days of founder-logged minutes in binky-control/briefs/load-log.csv (window starts 2026-09-28 at the
|
||||
0 RAIL-HO-WP-0011-T08 railiance-infra dec=5d8dcdb5-6d7b-463e-bb39-0a4737331403 | Live recipient removal or credential replacement requires explicit operator approval after the dry run.
|
||||
0 RMASTER-WP-0020-T08 railiance-master dec=5d8dcdb5-6d7b-463e-bb39-0a4737331403 | Retention expiry, a successful railiance01 DR drill and new explicit approval for destructive deletion.
|
||||
0 RPF-WP-0027-T03 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Attended resolver run: postchecks outstanding; NetKingdom asked to package the complete sequence as one receip
|
||||
0 RPF-WP-0027-T06 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Platform/OpenBao owner must publish the non-secret routing receipt for both lanes through the attended handoff
|
||||
0 RPF-WP-0038-T04 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Operator chooses the independent archive prefix and confirms retention/caller contract and bounded worker cred
|
||||
0 RPF-WP-0044-T08 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Planning only; needs an operator read-only check of coulombcore's ArgoCD, outside agent session scope.
|
||||
0 RPF-WP-0015-T03 railiance-platform dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Single-node outage exercise needs operator access and a declared restart order coordinated with railiance-infr
|
||||
0 RPF-WP-0050-T02 railiance-platform dec=1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa | Founder must explicitly choose batched attended custody, response-wrapped issuer delivery, or scoped MFA silen
|
||||
0 RPF-WP-0043-T04 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Founder go-ahead: the merge is a live production change (CONSTRUCT @ railiance-platform, activation=APPROVED);
|
||||
0 RPF-WP-0035-T03 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Attended platform policy/schema apply after MASON-WP-0005 construction coordination confirms the capability sc
|
||||
0 RPF-WP-0035-T07 railiance-platform dec=1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa | Founder HOLD (2026-09-21) on the legacy whynot-design npm pointer; custody disposition is an attended decision
|
||||
0 RPF-WP-0035-T06 railiance-platform dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | INFD-WP-0001-T07/T08 terminal; remaining gate is human approval of the scoped delivery proof; front door stays
|
||||
0 RPF-WP-0035-T08 railiance-platform dec=ab85ae8a-12a0-4945-ae64-1d3d86d5b26f | Provisioned and delivered 2026-09-11 (CCR-2026-0021/0022 applied); do not repeat. Receiver rollout with eviden
|
||||
0 RPF-WP-0036-T03 railiance-platform dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | activity-core replied (not accepted yet): role acceptance is the founder decision ACTIVITY-WP-0042-T01 (D2); t
|
||||
0 RAPP-OPENBAO-WP-0002-T02 rapp-openbao dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Await the loopback OIDC callback accepted by the OpenBao platform-admin role and an attended MFA login (see RM
|
||||
0 RAPP-POLICY-NEXUS-WP-0002-T05 rapp-policy-nexus dec=89f1058f-33bc-47a8-8a49-0b44d426c67e | Live change; runs only after the founder approves the plan with T02-T04 done.
|
||||
0 REEF-RAILIANCE-WP-0003-T04 reef-railiance dec=2fd5849c-240e-4d0a-bf07-5ebf8dfce3fd | Production approval requires mitigation or explicit acceptance of the single-node/shared-control-plane risk.
|
||||
0 RBT-WP-0006-T01 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs a decision on which identity runs the command.
|
||||
0 RBT-WP-0006-T02 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs a decision on scan scope.
|
||||
0 RBT-WP-0006-T03 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs decisions on access, identity and what is sent where.
|
||||
0 RBT-WP-0006-T04 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs a decision on how a pack in another repo is identified and trusted.
|
||||
0 RBT-WP-0006-T05 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs a decision whether hosts without a browser justify it; the CLI already covers v0.1 runs (moved from RBT-
|
||||
0 RBT-WP-0006-T06 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Needs a decision to start a v0.3 design: conditional applicability (G1), longer horizons (G2), gate recheck (G
|
||||
0 RBT-WP-0006-T07 runbook-tutorials dec=1e517449-2114-4a8f-9c6b-fcdbe977378e | Optional follow-up agreed with Bernd on 2026-09-29: the workplans close without it. Needs a decision when to r
|
||||
0 TD-WP-0003-T01 test-driver dec=b6a44b55-8d10-4b96-8a71-524a0c34d2f3 | Bounded live-model experiment: run count and cost ceiling agreed with the operator before the first call.
|
||||
0 TD-WP-0003-T06 test-driver dec=b6a44b55-8d10-4b96-8a71-524a0c34d2f3 | Operator establishes Playwright and clears its licence.
|
||||
0 TD-WP-0003-T07 test-driver dec=b6a44b55-8d10-4b96-8a71-524a0c34d2f3 | Needs an independently timed fresh implementation by an author who does not copy the fixtures.
|
||||
0 TD-WP-0004-T05 test-driver dec=b6a44b55-8d10-4b96-8a71-524a0c34d2f3 | Operator/target-owner-selected system and approved bounded engagement.
|
||||
0 USER-WP-0035-T02 user-engine dec=62aa95e4-3ccc-4867-8806-5e3db005b483 | Needs the operator-owned governed transactional mail lane (email-connect plus the OpenBao delivery token).
|
||||
0 USER-WP-0027-T04 user-engine dec=cef97ccd-4ee7-40fe-859e-1df9c9360ecb | Attended live acceptance of U05-U08/P04-P06 against the real provider factor (enrollment, cancellation, replac
|
||||
0 USER-WP-0028-T03 user-engine dec=cef97ccd-4ee7-40fe-859e-1df9c9360ecb | Attended live acceptance of U05-U08 (enrollment, cancel, replace, lost-factor recovery, old-AAL1-session behav
|
||||
88 human gates
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"open_non_residual_workplans": 106,
|
||||
"workplan_statuses": {
|
||||
"active": 2,
|
||||
"backlog": 5,
|
||||
"blocked": 98,
|
||||
"ready": 1
|
||||
},
|
||||
"wait_tasks": 241,
|
||||
"human_gates": 86,
|
||||
"unrouted_human_gates": [],
|
||||
"unqualified_waits": [],
|
||||
"owner_return_waits": 62,
|
||||
"terminal_dependency_waits": [],
|
||||
"qualifier_drift": [],
|
||||
"parse_warnings": [
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0001-projektgeruest.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0002-fachmodelle.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0003-basis-ui.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0005-lose-anforderungen.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0006-aufgaben-bieterfragen.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0007-dokumente.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0008-preise.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0009-abgabe-nachbetrachtung.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0010-partner-bibliothek.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0011-marktbegleiter.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0012-querschnitt.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0013-feedback-bugs.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0014-aufgaben-lose-scores.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0015-aufgaben-verknuepfungen-frist-issuefacade.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0016-issue-facade-integration.md",
|
||||
"/home/worsch/vergabe-teilnahme/workplans/VT-WP-0017-whynot-design-tokens.md"
|
||||
],
|
||||
"captured_at": "2026-10-03T23:13:05.837703+00:00",
|
||||
"registered_repos": 146,
|
||||
"checkout_overrides": {
|
||||
"access-engine": "/home/worsch/access-engine",
|
||||
"repo-manager": "/home/worsch/repo-manager",
|
||||
"railiance-bootstrap": "/home/worsch/railiance-bootstrap",
|
||||
"railiance-hosts": "/home/worsch/railiance-hosts"
|
||||
},
|
||||
"unavailable_checkouts": [
|
||||
"inter-hub",
|
||||
"markitect-project"
|
||||
],
|
||||
"handoffs": [
|
||||
{
|
||||
"case_id": "case:cross-owner:CUST-WP-0075-T06:state-hub",
|
||||
"scenario_type": "cross_owner_wait",
|
||||
"beneficiary_workplan_id": "CUST-WP-0075",
|
||||
"obligor_repo": "state-hub",
|
||||
"obligor_workplan_id": "STATE-WP-0094",
|
||||
"state": "satisfied",
|
||||
"reason": "P1 and P5 detection delivered. Wakeup execution, causal qualifier diagnosis and graph freshness assessment remain T03/T04/T05; legacy nightly remote sweep declined.",
|
||||
"proposal_message_id": "b4825539-1425-4028-a2e9-9243785a344b",
|
||||
"proposal_read_at": null,
|
||||
"reply_candidates": [
|
||||
{
|
||||
"id": "c17795db-b3f2-47e8-8be8-04d5d6dfecbf",
|
||||
"subject": "CUST-WP-0075 owner disposition: STATE-WP-0094, P1/P5 detection delivered; P6a retained",
|
||||
"thread_id": "b4825539-1425-4028-a2e9-9243785a344b"
|
||||
}
|
||||
],
|
||||
"disposition": "partially_accepted",
|
||||
"owner_task_ids": [
|
||||
"STATE-WP-0094-T01",
|
||||
"STATE-WP-0094-T02",
|
||||
"STATE-WP-0094-T03",
|
||||
"STATE-WP-0094-T04",
|
||||
"STATE-WP-0094-T05"
|
||||
],
|
||||
"reply_message_id": "c17795db-b3f2-47e8-8be8-04d5d6dfecbf",
|
||||
"scope": "Proposal handoff only; owner implementation and human gates retain their own status"
|
||||
},
|
||||
{
|
||||
"case_id": "case:cross-owner:CUST-WP-0075-T06:railiance-platform",
|
||||
"scenario_type": "cross_owner_wait",
|
||||
"beneficiary_workplan_id": "CUST-WP-0075",
|
||||
"obligor_repo": "railiance-platform",
|
||||
"obligor_workplan_id": "RPF-WP-0050",
|
||||
"state": "satisfied",
|
||||
"reason": "Checklist renderer delivered; explicit custody choice T02, operator cadence T03 and platform scaffold T04 remain. No standing event or live provisioning activated.",
|
||||
"proposal_message_id": "f84637fa-2355-4971-a2dc-7f1fd01710a8",
|
||||
"proposal_read_at": "2026-10-03T22:29:37.571988Z",
|
||||
"reply_candidates": [
|
||||
{
|
||||
"id": "981a20fc-315b-4fd8-9783-9c3460a4840d",
|
||||
"subject": "Accepted CUST-WP-0075 P2/P3 preparation: RPF-WP-0050; actual T08 gate routed",
|
||||
"thread_id": "f84637fa-2355-4971-a2dc-7f1fd01710a8"
|
||||
},
|
||||
{
|
||||
"id": "84cb5557-cc89-43fa-b8b8-13508c5ea52b",
|
||||
"subject": "Re: D1 readiness: two lanes need a reviewed command before they can be approved",
|
||||
"thread_id": "208c18ec-79fe-4b21-8cc8-928ecccfd4c2"
|
||||
}
|
||||
],
|
||||
"disposition": "partially_accepted",
|
||||
"owner_task_ids": [
|
||||
"RPF-WP-0050-T01",
|
||||
"RPF-WP-0050-T02",
|
||||
"RPF-WP-0050-T03",
|
||||
"RPF-WP-0050-T04"
|
||||
],
|
||||
"reply_message_id": "981a20fc-315b-4fd8-9783-9c3460a4840d",
|
||||
"scope": "Proposal handoff only; owner implementation and human gates retain their own status"
|
||||
},
|
||||
{
|
||||
"case_id": "case:cross-owner:CUST-WP-0075-T06:ops-warden",
|
||||
"scenario_type": "cross_owner_wait",
|
||||
"beneficiary_workplan_id": "CUST-WP-0075",
|
||||
"obligor_repo": "ops-warden",
|
||||
"obligor_workplan_id": "WARDEN-WP-0041",
|
||||
"state": "satisfied",
|
||||
"reason": "ops-warden owns the proposed catalog/template seam under WARDEN-WP-0041. T02 retains source implementation; T03 retains platform schema/renderer acceptance. The handoff is accepted; the scaffold is not yet delivered.",
|
||||
"proposal_message_id": "79549660-4fc8-44d5-989e-074f6c7b6f07",
|
||||
"proposal_read_at": "2026-10-03T21:22:49.738641Z",
|
||||
"reply_candidates": [
|
||||
{
|
||||
"id": "cda45346-67d1-4c1c-a0b1-4a13b5032551",
|
||||
"subject": "Re: P4 accepted \u2014 WARDEN-WP-0041 catalog scaffold owner work",
|
||||
"thread_id": "79549660-4fc8-44d5-989e-074f6c7b6f07"
|
||||
},
|
||||
{
|
||||
"id": "94d07ae0-a2a4-47f8-8bf7-9957aaf2a84f",
|
||||
"subject": "Re: BUG: warden secret-fetch policy check is sent to the SSH signing pin and always 403s for non-ops-warden owners",
|
||||
"thread_id": "faf11061-b490-435a-b472-cb315a459760"
|
||||
}
|
||||
],
|
||||
"disposition": "accepted",
|
||||
"owner_task_ids": [
|
||||
"WARDEN-WP-0041-T01",
|
||||
"WARDEN-WP-0041-T02",
|
||||
"WARDEN-WP-0041-T03",
|
||||
"WARDEN-WP-0041-T04"
|
||||
],
|
||||
"reply_message_id": "cda45346-67d1-4c1c-a0b1-4a13b5032551",
|
||||
"scope": "Proposal handoff only; owner implementation and human gates retain their own status"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,382 @@
|
|||
{
|
||||
"verified_rows": [
|
||||
{
|
||||
"task_id": "ADAPTIVE-WP-0010-T01",
|
||||
"uuid": "7533431c-a0de-5ac8-a811-14e4604ad651",
|
||||
"source_path": "/home/worsch/adaptive-pricing/workplans/ADAPTIVE-WP-0010-plan-derived-guardrail-ceilings.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "FI-WP-0005-T04",
|
||||
"uuid": "d679352f-8b0d-5ca5-9e42-4173ed87f48a",
|
||||
"source_path": "/home/worsch/freedom-intelligence/workplans/FI-WP-0005-profiled-brief-execution.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "FI-WP-0005-T08",
|
||||
"uuid": "3bd365ad-7e9c-54cc-ad2b-e1cbbf525636",
|
||||
"source_path": "/home/worsch/freedom-intelligence/workplans/FI-WP-0005-profiled-brief-execution.md",
|
||||
"file_depends_on": [
|
||||
"FI-WP-0005-T07"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "INFO-WP-0029-T05",
|
||||
"uuid": "0486fcba-3609-50c5-b347-e7ee84f9f548",
|
||||
"source_path": "/home/worsch/info-tech-canon/workplans/INFO-WP-0029-emission-cadence-adoption.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "KG-WP-0005-T03",
|
||||
"uuid": "d2f59a1b-ee01-51b5-b9b6-6e7875d6c988",
|
||||
"source_path": "/home/worsch/kings-guard/workplans/KG-WP-0005-qonto-source-cadence-admission.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "RAPP-QONTO-WP-0002-T01",
|
||||
"uuid": "09483a24-55ca-5de2-a19c-a00f938dba86",
|
||||
"source_path": "/home/worsch/rapp-qonto/workplans/RAPP-QONTO-WP-0002-resource-usage-and-cost-evidence.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "RAPP-TELEMETRY-WP-0001-T04",
|
||||
"uuid": "95f0acc6-f9cb-542f-89ab-a6b6b61da3bb",
|
||||
"source_path": "/home/worsch/rapp-telemetry/workplans/RAPP-TELEMETRY-WP-0001-foundation.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "REINAH-WP-0003-T04",
|
||||
"uuid": "f6c7f80c-3807-54ac-b44a-ef582433b927",
|
||||
"source_path": "/home/worsch/rein-aharness/workplans/REINAH-WP-0003-governed-runtime-integrity.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "SAND-WP-0015-T04",
|
||||
"uuid": "58817ef6-76d9-5e34-908f-c024e6c99f93",
|
||||
"source_path": "/home/worsch/sand-boxer/workplans/SAND-WP-0015-bwrap-runtime-and-private-state.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "WARDEN-WP-0041-T03",
|
||||
"uuid": "33587361-2b8a-5540-9c4f-d7b4f8ef25e0",
|
||||
"source_path": "/home/worsch/ops-warden/workplans/WARDEN-WP-0041-catalog-lane-scaffolding.md",
|
||||
"file_depends_on": [
|
||||
"WARDEN-WP-0041-T02",
|
||||
"RPF-WP-0050-T04"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T02",
|
||||
"uuid": "f6b17f12-d5b0-586c-bb2a-499c566d311e",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "human",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T05",
|
||||
"uuid": "012355d7-86c4-59dc-9a5c-85f4ced5a898",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [
|
||||
"GLAS-WP-0012",
|
||||
"CUST-WP-0073-T02"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T07",
|
||||
"uuid": "9cc74076-4143-58d6-8791-fca0f34f430d",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [
|
||||
"EMERGENT-WP-0002-T05"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T08",
|
||||
"uuid": "6081755b-890c-51c7-a1ca-d4e062b7db5e",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [
|
||||
"EMERGENT-WP-0002-T07"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T09",
|
||||
"uuid": "a92a8a62-ed4c-5720-9fa6-579ad811adcf",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [
|
||||
"EMERGENT-WP-0002-T02",
|
||||
"EMERGENT-WP-0002-T08"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "EMERGENT-WP-0002-T10",
|
||||
"uuid": "9d43f76c-6a16-508d-8b4a-2a9c1b813c1e",
|
||||
"source_path": "/home/worsch/emergent-security/workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md",
|
||||
"file_depends_on": [
|
||||
"EMERGENT-WP-0002-T09"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "QONTO-WP-0006-T02",
|
||||
"uuid": "77af5db4-8919-5da7-ab91-924a5f8ad63f",
|
||||
"source_path": "/home/worsch/qonto-assistant/workplans/QONTO-WP-0006-canonical-cadence-adoption.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "QONTO-WP-0006-T03",
|
||||
"uuid": "9eb725b2-a9bc-594a-b43b-e24c37dfc6a1",
|
||||
"source_path": "/home/worsch/qonto-assistant/workplans/QONTO-WP-0006-canonical-cadence-adoption.md",
|
||||
"file_depends_on": [
|
||||
"QONTO-WP-0006-T02",
|
||||
"KG-WP-0005-T03"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T02",
|
||||
"uuid": "2fe6f100-3a5d-563e-b033-7d7b846ae487",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [],
|
||||
"hub_wait_kind": "human",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T03",
|
||||
"uuid": "32d1411b-10a4-5a8b-8f43-99ac46d83908",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T02"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T04",
|
||||
"uuid": "6697a994-7343-5ea8-8b37-bc3b921e5a9b",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T03"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T05",
|
||||
"uuid": "d845380d-3dbc-5e59-8f2b-5a4d1b32d89d",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T04"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T06",
|
||||
"uuid": "9cb7fd93-c16e-5102-83ce-195b3aa87446",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T03",
|
||||
"NK-WP-0011-T04",
|
||||
"NK-WP-0011-T05"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T07",
|
||||
"uuid": "38998c68-29bf-50d2-8c8d-0c75184d5833",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T03",
|
||||
"NK-WP-0011-T04",
|
||||
"NK-WP-0011-T05"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T08",
|
||||
"uuid": "e5f44ddc-9645-5f61-b84c-da5ab9cccb6d",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T02",
|
||||
"NK-WP-0011-T03"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0011-T09",
|
||||
"uuid": "d9dc4292-6b66-5797-9ff9-a1a4a556278e",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0011-enterprise-federation-saml.md",
|
||||
"file_depends_on": [
|
||||
"NK-WP-0011-T03",
|
||||
"NK-WP-0011-T07",
|
||||
"NK-WP-0011-T08"
|
||||
],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime/deployment acceptance inferred from projection parity.",
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": []
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0027-T06",
|
||||
"uuid": "bf8b3e1d-7ee0-5ad0-8705-5a580a9fb546",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0027-reef-placement-reconciliation.md",
|
||||
"file_depends_on": [],
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime acceptance inferred."
|
||||
},
|
||||
{
|
||||
"task_id": "NK-WP-0035-T04",
|
||||
"uuid": "e3fbc8b8-00d5-57ce-ba0c-19b58044c950",
|
||||
"source_path": "/home/worsch/net-kingdom/workplans/NK-WP-0035-emission-cadence-security-profile.md",
|
||||
"file_depends_on": [],
|
||||
"dependency_parity": true,
|
||||
"missing_dependency_descriptions": [],
|
||||
"hub_wait_kind": "external",
|
||||
"parity": true,
|
||||
"drift": {},
|
||||
"runtime_claim": "No runtime acceptance inferred."
|
||||
}
|
||||
],
|
||||
"scope": "Read-only exact task UUID qualifier parity and per-task dependency description/from_task_id verification; no runtime or approval acceptance."
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"79549660-4fc8-44d5-989e-074f6c7b6f07": {
|
||||
"reply_message_id": "cda45346-67d1-4c1c-a0b1-4a13b5032551",
|
||||
"disposition": "accepted",
|
||||
"reason": "ops-warden owns the proposed catalog/template seam under WARDEN-WP-0041. T02 retains source implementation; T03 retains platform schema/renderer acceptance. The handoff is accepted; the scaffold is not yet delivered.",
|
||||
"owner_workplan_id": "WARDEN-WP-0041",
|
||||
"owner_task_ids": [
|
||||
"WARDEN-WP-0041-T01",
|
||||
"WARDEN-WP-0041-T02",
|
||||
"WARDEN-WP-0041-T03",
|
||||
"WARDEN-WP-0041-T04"
|
||||
],
|
||||
"source_commit": "ac112d8"
|
||||
},
|
||||
"b4825539-1425-4028-a2e9-9243785a344b": {
|
||||
"reply_message_id": "c17795db-b3f2-47e8-8be8-04d5d6dfecbf",
|
||||
"disposition": "partially_accepted",
|
||||
"reason": "P1 and P5 detection delivered. Wakeup execution, causal qualifier diagnosis and graph freshness assessment remain T03/T04/T05; legacy nightly remote sweep declined.",
|
||||
"owner_workplan_id": "STATE-WP-0094",
|
||||
"owner_task_ids": [
|
||||
"STATE-WP-0094-T01",
|
||||
"STATE-WP-0094-T02",
|
||||
"STATE-WP-0094-T03",
|
||||
"STATE-WP-0094-T04",
|
||||
"STATE-WP-0094-T05"
|
||||
],
|
||||
"source_commit": "831ae0e"
|
||||
},
|
||||
"f84637fa-2355-4971-a2dc-7f1fd01710a8": {
|
||||
"reply_message_id": "981a20fc-315b-4fd8-9783-9c3460a4840d",
|
||||
"disposition": "partially_accepted",
|
||||
"reason": "Checklist renderer delivered; explicit custody choice T02, operator cadence T03 and platform scaffold T04 remain. No standing event or live provisioning activated.",
|
||||
"owner_workplan_id": "RPF-WP-0050",
|
||||
"owner_task_ids": [
|
||||
"RPF-WP-0050-T01",
|
||||
"RPF-WP-0050-T02",
|
||||
"RPF-WP-0050-T03",
|
||||
"RPF-WP-0050-T04"
|
||||
],
|
||||
"source_commit": "46eb8be"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
[
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"commit": "831ae0e598ca6e5e21f7721da5e7f0ed9f81f640",
|
||||
"paths": [
|
||||
"scripts/consistency_check.py",
|
||||
"tests/test_consistency_check.py",
|
||||
"workplans/STATE-WP-0094-routed-gates-and-owner-returns.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "emergent-security",
|
||||
"commit": "f542a91deb003feb7fad3ecc17504c514a7c5479",
|
||||
"paths": [
|
||||
"workplans/EMERGENT-WP-0002-agent-security-knowledge-and-netkingdom-integration.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "qonto-assistant",
|
||||
"commit": "cc5eab2e44a1340ad3cfdeefc4f5808431a24358",
|
||||
"paths": [
|
||||
"workplans/QONTO-WP-0006-canonical-cadence-adoption.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"commit": "01c46ff454507fb53170dfbb028ecf073b3ab798",
|
||||
"paths": [
|
||||
"workplans/INFD-WP-0005-frictionless-decision-intake.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "frontend-patterns",
|
||||
"commit": "9502563ecef12bf4903fbe307743aef0c5614a76",
|
||||
"paths": [
|
||||
"workplans/FEP-WP-0009-m1-independent-validation.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "access-engine",
|
||||
"commit": "74ec4abfafe1602140abdb95a7f68487fff0a86b",
|
||||
"paths": [
|
||||
"workplans/FLEX-WP-0020-repository-identity-migration.md",
|
||||
"workplans/FLEX-WP-0027-t03-human-review.md",
|
||||
"workplans/ADHOC-2026-10-03.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "activity-core",
|
||||
"commit": "8330501140aa12650f582f5832a643a472e37a8a",
|
||||
"paths": [
|
||||
"workplans/ACTIVITY-WP-0042-platform-backup-restore-evidence-scheduling.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "user-engine",
|
||||
"commit": "ad501d032c6acd2256e5ced6647a9350387e678d",
|
||||
"paths": [
|
||||
"workplans/USER-WP-0037-hub-authority-lookup.md"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,181 @@
|
|||
{
|
||||
"workplan_id": "CUST-WP-0075",
|
||||
"authorization": "Founder: Go on, spawning workers for repos we need to do something for us",
|
||||
"dispatch_mode": "Explicit repository-scoped subagents; three concurrent workers",
|
||||
"assignments": [
|
||||
{
|
||||
"repo": "state-hub",
|
||||
"worker": "/root/state_hub_owner",
|
||||
"state": "completed",
|
||||
"scope": "P1/P5/P6/P6a owner disposition, checker fixes and tests",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "831ae0e598ca6e5e21f7721da5e7f0ed9f81f640",
|
||||
"owner_workplan_id": "STATE-WP-0094",
|
||||
"owner_task_ids": [
|
||||
"STATE-WP-0094-T01",
|
||||
"STATE-WP-0094-T02",
|
||||
"STATE-WP-0094-T03",
|
||||
"STATE-WP-0094-T04",
|
||||
"STATE-WP-0094-T05"
|
||||
],
|
||||
"reply_message_id": "c17795db-b3f2-47e8-8be8-04d5d6dfecbf",
|
||||
"checks": "182 checker/CLI tests pass; P1/P5 detection delivered, T03/T04/T05 todo"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"worker": "/root/platform_owner",
|
||||
"state": "completed",
|
||||
"scope": "P2/P3 owner disposition and local checklist renderer; RPF-WP-0035-T08 decision routing; P4 platform seam",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "46eb8be",
|
||||
"owner_workplan_id": "RPF-WP-0050",
|
||||
"owner_task_ids": [
|
||||
"RPF-WP-0050-T01",
|
||||
"RPF-WP-0050-T02",
|
||||
"RPF-WP-0050-T03",
|
||||
"RPF-WP-0050-T04"
|
||||
],
|
||||
"reply_message_id": "981a20fc-315b-4fd8-9783-9c3460a4840d",
|
||||
"checks": "7 renderer tests pass; existing suite 52/53 with unrelated catalog exact-set failure",
|
||||
"limitation": "Custody T02, cadence T03 and source scaffold T04 remain; CUST-WP-0076-T01 owns Custodian cadence return",
|
||||
"assessment": "3 historic C07 assessment failures retained; selected fields verify"
|
||||
},
|
||||
{
|
||||
"repo": "ops-warden",
|
||||
"worker": "/root/warden_owner",
|
||||
"state": "completed",
|
||||
"scope": "P4 catalog/template owner contract and live owner implementation records",
|
||||
"commit": "ac112d8",
|
||||
"owner_workplan_id": "WARDEN-WP-0041",
|
||||
"owner_task_ids": [
|
||||
"WARDEN-WP-0041-T01",
|
||||
"WARDEN-WP-0041-T02",
|
||||
"WARDEN-WP-0041-T03",
|
||||
"WARDEN-WP-0041-T04"
|
||||
],
|
||||
"reply_message_id": "cda45346-67d1-4c1c-a0b1-4a13b5032551",
|
||||
"checks": "118 routing/plan tests pass; consistency PASS with warnings",
|
||||
"limitation": "Scaffold source implementation remains T02; platform seam T03. Checker produced additional commit 52b1435 and dirty generated records, preserved.",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained"
|
||||
},
|
||||
{
|
||||
"repo": "net-kingdom",
|
||||
"state": "completed",
|
||||
"scope": "NK-WP-0011-T02..T09 unqualified waits; NK-WP-0027-T06 and NK-WP-0035-T04 qualifier drift",
|
||||
"worker": "/root/warden_owner",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "45a189a"
|
||||
},
|
||||
{
|
||||
"repo": "emergent-security",
|
||||
"state": "completed",
|
||||
"scope": "EMERGENT-WP-0002 T02/T05/T07/T08/T09/T10 unqualified waits",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "f542a91deb003feb7fad3ecc17504c514a7c5479"
|
||||
},
|
||||
{
|
||||
"repo": "qonto-assistant",
|
||||
"state": "completed",
|
||||
"scope": "QONTO-WP-0006-T02/T03 unqualified waits",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "cc5eab2e44a1340ad3cfdeefc4f5808431a24358"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"state": "completed",
|
||||
"scope": "INFD-WP-0005-T05/T10 decision routing; T05 terminal predecessor review",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "01c46ff454507fb53170dfbb028ecf073b3ab798"
|
||||
},
|
||||
{
|
||||
"repo": "frontend-patterns",
|
||||
"state": "completed",
|
||||
"scope": "FEP-WP-0009-T01 independent human review decision routing",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "9502563ecef12bf4903fbe307743aef0c5614a76"
|
||||
},
|
||||
{
|
||||
"repo": "activity-core",
|
||||
"state": "current_gate_reconciled_historical_sync_blocked",
|
||||
"scope": "ACTIVITY-WP-0042-T05/T08 terminal predecessor review; T08 qualifier drift",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "8330501140aa12650f582f5832a643a472e37a8a",
|
||||
"limitation": "Current UUID qualifier reconciliation only. Normal rmgr sync refused legacy identities; receiving derivation would omit legacy tasks. Historical receiving repair retained via ACTIVITY-WP-0042-T08 and owner request 6bf8ca98-ada1-43ab-83e7-207d4ab195fe; no bypass patch applied."
|
||||
},
|
||||
{
|
||||
"repo": "user-engine",
|
||||
"state": "completed",
|
||||
"scope": "USER-WP-0037-T03 terminal predecessor and owner-return review",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "ad501d032c6acd2256e5ced6647a9350387e678d"
|
||||
},
|
||||
{
|
||||
"repo": "adaptive-pricing",
|
||||
"state": "completed",
|
||||
"scope": "ADAPTIVE-WP-0010-T01 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "freedom-intelligence",
|
||||
"state": "completed",
|
||||
"scope": "FI-WP-0005-T04/T08 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only",
|
||||
"reconciliation": "C16 skipped initial writes; safe fast-forward to 70714ee then C41 repaired both UUID fields"
|
||||
},
|
||||
{
|
||||
"repo": "info-tech-canon",
|
||||
"state": "completed",
|
||||
"scope": "INFO-WP-0029-T05 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "kings-guard",
|
||||
"state": "completed",
|
||||
"scope": "KG-WP-0005-T03 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "rapp-qonto",
|
||||
"state": "completed",
|
||||
"scope": "RAPP-QONTO-WP-0002-T01 wait_until projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "rapp-telemetry",
|
||||
"state": "completed",
|
||||
"scope": "RAPP-TELEMETRY-WP-0001-T04 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "rein-aharness",
|
||||
"state": "completed",
|
||||
"scope": "REINAH-WP-0003-T04 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "sand-boxer",
|
||||
"state": "completed",
|
||||
"scope": "SAND-WP-0015-T04 qualifier projection reconciliation",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"source_change": "None: authoritative qualifier already encoded; projection repair only"
|
||||
},
|
||||
{
|
||||
"repo": "access-engine",
|
||||
"state": "completed",
|
||||
"scope": "Recovered local checkout: FLEX-WP-0020-T11, FLEX-WP-0027-T03 and FLEX-WP-ADHOC-2026-10-03-T02 human decision routing; terminal predecessor review; use explicit repo-path override",
|
||||
"verification": "Selected current qualifiers and existing dependency edges verified at task UUIDs; wait status and independent gates retained",
|
||||
"commit": "74ec4abfafe1602140abdb95a7f68487fff0a86b"
|
||||
}
|
||||
],
|
||||
"updated": "2026-10-04",
|
||||
"residual_handoff": "CUST-WP-0076-T01",
|
||||
"cadence_handoff_message": "d8c00f8d-7563-4d8c-8752-4dbae8ce63f8",
|
||||
"qualifier_followup_message": "d8e40e88-0f6d-46f4-86d2-393f24fce8b9"
|
||||
}
|
||||
|
|
@ -22,6 +22,7 @@ HANDOFFS = {
|
|||
"railiance-platform": "f84637fa-2355-4971-a2dc-7f1fd01710a8",
|
||||
"ops-warden": "79549660-4fc8-44d5-989e-074f6c7b6f07",
|
||||
}
|
||||
RECEIPTS = ROOT / "docs/evidence/2026-10-03-dependency-graph-triage/owner-handoff-receipts.json"
|
||||
|
||||
|
||||
def get_rows(base, route, **filters):
|
||||
|
|
@ -96,13 +97,64 @@ def audit(records, hub_tasks):
|
|||
}
|
||||
|
||||
|
||||
def handoff_case(owner, original, incoming, records, receipt=None):
|
||||
message_id = original["id"]
|
||||
candidates = [m for m in incoming if m["from_agent"] == owner
|
||||
and m["created_at"] > original["created_at"]]
|
||||
case = {
|
||||
"case_id": f"case:cross-owner:CUST-WP-0075-T06:{owner}",
|
||||
"scenario_type": "cross_owner_wait",
|
||||
"beneficiary_workplan_id": "CUST-WP-0075", "obligor_repo": owner,
|
||||
"obligor_workplan_id": None, "state": "waiting",
|
||||
"reason": "Owner acceptance or decline not yet recorded",
|
||||
"proposal_message_id": message_id, "proposal_read_at": original.get("read_at"),
|
||||
"reply_candidates": [{"id": m["id"], "subject": m["subject"], "thread_id": m.get("thread_id")}
|
||||
for m in candidates],
|
||||
}
|
||||
if receipt is None:
|
||||
return case
|
||||
reply = next((m for m in candidates if m["id"] == receipt["reply_message_id"]), None)
|
||||
if reply is None or reply.get("thread_id") != message_id or reply.get("to_agent") != "the-custodian":
|
||||
raise ValueError(f"{owner}: reviewed reply is missing or does not answer this proposal")
|
||||
if receipt["disposition"] not in {"accepted", "declined", "partially_accepted"} or not receipt.get("reason"):
|
||||
raise ValueError(f"{owner}: disposition and reason required")
|
||||
plan_id = receipt.get("owner_workplan_id")
|
||||
if receipt["disposition"] != "declined":
|
||||
plan = records["WP"].get(plan_id)
|
||||
if not plan or plan["repo"] != owner or plan["flavor"] == "residual":
|
||||
raise ValueError(f"{owner}: accepted handoff needs a non-residual owner workplan")
|
||||
if not receipt.get("owner_task_ids") or any(
|
||||
records["T"].get(tid, {}).get("wp") != plan_id for tid in receipt["owner_task_ids"]):
|
||||
raise ValueError(f"{owner}: accepted handoff needs owner task records")
|
||||
case.update(state="satisfied", reason=receipt["reason"], disposition=receipt["disposition"],
|
||||
obligor_workplan_id=plan_id, owner_task_ids=receipt.get("owner_task_ids", []),
|
||||
reply_message_id=reply["id"],
|
||||
scope="Proposal handoff only; owner implementation and human gates retain their own status")
|
||||
return case
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("--api-base", default="http://127.0.0.1:8000")
|
||||
parser.add_argument("--output", type=Path, required=True)
|
||||
parser.add_argument("--handoff-receipts", type=Path, default=RECEIPTS,
|
||||
help="Reviewed owner dispositions; absence leaves handoffs waiting")
|
||||
parser.add_argument("--repo-path", action="append", default=[], metavar="SLUG=PATH",
|
||||
help="Explicit local checkout override; preserves registry evidence")
|
||||
args = parser.parse_args()
|
||||
args.output.mkdir(parents=True, exist_ok=True)
|
||||
repos = get_rows(args.api_base, "repos")
|
||||
(args.output / "registry.json").write_text(json.dumps(repos))
|
||||
overrides = {}
|
||||
for value in args.repo_path:
|
||||
slug, separator, path = value.partition("=")
|
||||
if not separator or not Path(path).is_absolute() or not Path(path).is_dir():
|
||||
parser.error("--repo-path requires SLUG=existing-absolute-directory")
|
||||
repo = next((r for r in repos if r["slug"] == slug), None)
|
||||
if repo is None:
|
||||
parser.error(f"--repo-path names unregistered repo: {slug}")
|
||||
repo["local_path"] = path
|
||||
overrides[slug] = path
|
||||
(args.output / "repos.json").write_text(json.dumps(repos))
|
||||
result = subprocess.run([sys.executable, str(SCANNER)], capture_output=True, text=True,
|
||||
env=dict(os.environ, TRIAGE_SCRATCH=str(args.output.resolve())), check=True)
|
||||
|
|
@ -112,26 +164,16 @@ def main():
|
|||
report["parse_warnings"] = records.get("parse_warnings", [])
|
||||
report["captured_at"] = datetime.now(timezone.utc).isoformat()
|
||||
report["registered_repos"] = len(repos)
|
||||
report["checkout_overrides"] = overrides
|
||||
report["unavailable_checkouts"] = sorted(r["slug"] for r in repos
|
||||
if not r.get("local_path") or not Path(r["local_path"]).is_dir())
|
||||
report["handoffs"] = []
|
||||
receipts = json.loads(args.handoff_receipts.read_text()) if args.handoff_receipts.exists() else {}
|
||||
for owner, message_id in HANDOFFS.items():
|
||||
incoming = get_rows(args.api_base, "messages", to_agent="the-custodian", from_agent=owner)
|
||||
outgoing = get_rows(args.api_base, "messages", to_agent=owner, from_agent="the-custodian")
|
||||
original = next(m for m in outgoing if m["id"] == message_id)
|
||||
candidates = [m for m in incoming if m["from_agent"] == owner
|
||||
and m["created_at"] > original["created_at"]]
|
||||
report["handoffs"].append({
|
||||
"case_id": f"case:cross-owner:CUST-WP-0075-T06:{owner}",
|
||||
"scenario_type": "cross_owner_wait",
|
||||
"beneficiary_workplan_id": "CUST-WP-0075",
|
||||
"obligor_repo": owner,
|
||||
"obligor_workplan_id": None,
|
||||
"state": "waiting", "reason": "Owner acceptance or decline not yet recorded",
|
||||
"proposal_message_id": message_id, "proposal_read_at": original.get("read_at"),
|
||||
"reply_candidates": [{"id": m["id"], "subject": m["subject"], "thread_id": m.get("thread_id")}
|
||||
for m in candidates],
|
||||
})
|
||||
report["handoffs"].append(handoff_case(owner, original, incoming, records, receipts.get(message_id)))
|
||||
(args.output / "monitor.json").write_text(json.dumps(report, indent=2) + "\n")
|
||||
print(json.dumps(report, indent=2))
|
||||
|
||||
|
|
|
|||
|
|
@ -93,6 +93,39 @@ wait_until: 2026-10-04
|
|||
self.assertEqual(fetch.call_count, 1)
|
||||
self.assertNotIn("offset", fetch.call_args.args[0])
|
||||
|
||||
def handoff_data(self):
|
||||
original = {"id": "proposal", "created_at": "2026-10-03T01:00:00Z"}
|
||||
reply = {"id": "reply", "created_at": "2026-10-03T02:00:00Z", "from_agent": "owner",
|
||||
"to_agent": "the-custodian", "thread_id": "proposal", "subject": "Accepted"}
|
||||
records = {"WP": {"owner-plan": {"repo": "owner", "flavor": "implementation"}},
|
||||
"T": {"owner-task": {"wp": "owner-plan", "status": "todo"}}}
|
||||
receipt = {"reply_message_id": "reply", "disposition": "accepted", "reason": "Owned locally",
|
||||
"owner_workplan_id": "owner-plan", "owner_task_ids": ["owner-task"]}
|
||||
return original, reply, records, receipt
|
||||
|
||||
def test_unreviewed_reply_does_not_satisfy_handoff(self):
|
||||
original, reply, records, _ = self.handoff_data()
|
||||
self.assertEqual(monitor.handoff_case("owner", original, [reply], records)["state"], "waiting")
|
||||
|
||||
def test_reviewed_owner_handoff_preserves_implementation_status(self):
|
||||
original, reply, records, receipt = self.handoff_data()
|
||||
case = monitor.handoff_case("owner", original, [reply], records, receipt)
|
||||
self.assertEqual(case["state"], "satisfied")
|
||||
self.assertEqual(case["obligor_workplan_id"], "owner-plan")
|
||||
self.assertEqual(records["T"]["owner-task"]["status"], "todo")
|
||||
|
||||
def test_unrelated_thread_cannot_satisfy_handoff(self):
|
||||
original, reply, records, receipt = self.handoff_data()
|
||||
reply["thread_id"] = "different-proposal"
|
||||
with self.assertRaises(ValueError):
|
||||
monitor.handoff_case("owner", original, [reply], records, receipt)
|
||||
|
||||
def test_residual_owner_plan_cannot_accept_handoff(self):
|
||||
original, reply, records, receipt = self.handoff_data()
|
||||
records["WP"]["owner-plan"]["flavor"] = "residual"
|
||||
with self.assertRaises(ValueError):
|
||||
monitor.handoff_case("owner", original, [reply], records, receipt)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ type: workplan
|
|||
title: "Use the dependency graph to shrink the blocked set and route human gates to decisions"
|
||||
domain: infotech
|
||||
repo: the-custodian
|
||||
status: active
|
||||
status: finished
|
||||
owner: the-custodian
|
||||
topic_slug: custodian
|
||||
flavor: planning
|
||||
created: "2026-10-03"
|
||||
updated: "2026-10-03"
|
||||
updated: "2026-10-04"
|
||||
related:
|
||||
- CUST-WP-0072
|
||||
- CUST-WP-0074
|
||||
|
|
@ -117,7 +117,7 @@ as the unit of provisioning). Proposals only; no canon change here.
|
|||
|
||||
```task
|
||||
id: CUST-WP-0075-T05
|
||||
status: progress
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "c78b104d-cdf0-5aca-81a4-b5569cc90479"
|
||||
```
|
||||
|
|
@ -140,10 +140,8 @@ the earlier T02/T03 results are point-in-time, not a current clean scan.
|
|||
|
||||
```task
|
||||
id: CUST-WP-0075-T06
|
||||
status: wait
|
||||
status: done
|
||||
priority: high
|
||||
blocked_on: message-from:state-hub
|
||||
blocking_reason: "Proposals sent 2026-10-03; waiting for state-hub (b4825539), railiance-platform (f84637fa) and ops-warden (79549660) to reply with their workplan ids or a decline."
|
||||
state_hub_task_id: "91fd64c1-2dfd-57d1-8930-51477c530202"
|
||||
```
|
||||
|
||||
|
|
@ -165,6 +163,18 @@ remain unknown pending owner identification. Newer platform/warden replies
|
|||
concern D1 readiness and the fetch-policy bug, respectively; neither answers
|
||||
these proposals. No worker was woken. T06 remains `wait`.
|
||||
|
||||
2026-10-03 worker continuation (founder explicitly requested repo workers):
|
||||
state-hub, railiance-platform and ops-warden workers dispatched first, with
|
||||
further affected repos queued in
|
||||
`docs/evidence/2026-10-03-dependency-graph-triage/worker-dispatch-2026-10-03.json`.
|
||||
ops-warden accepted P4 through reply `cda45346-67d1-4c1c-a0b1-4a13b5032551`:
|
||||
`WARDEN-WP-0041` owns catalog/template source delivery, with T02 implementation
|
||||
and T03 platform-seam acceptance still open. Source review and handoff are done
|
||||
in `ac112d8`. The proposed contract is
|
||||
`ops-warden/wiki/CatalogLaneScaffoldContract.md`; platform owns its rendering
|
||||
schema. This resolves that owner handoff, not the downstream implementation.
|
||||
Reviewed dispositions live in `owner-handoff-receipts.json` in the evidence folder.
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-10-03 start: 108 open / 100 blocked / 232 wait / 69 human gates /
|
||||
|
|
@ -219,3 +229,40 @@ these proposals. No worker was woken. T06 remains `wait`.
|
|||
predecessors, but separate human/owner gates and task prose still need review.
|
||||
T06's three proposals remain unanswered. The monitor and seven regression
|
||||
checks are implemented; no fleet cleanup or proposal acceptance is claimed.
|
||||
|
||||
- 2026-10-04 owner handoffs complete: STATE-WP-0094, RPF-WP-0050 and
|
||||
WARDEN-WP-0041 are live implementation records. State Hub reply
|
||||
`c17795db-b3f2-47e8-8be8-04d5d6dfecbf` partially accepts P1/P5/P6a;
|
||||
P1 and owner-return detection are delivered, wakeup execution, causal diagnosis
|
||||
and graph freshness remain T03/T04/T05. Legacy remote nightly sweep declined.
|
||||
Platform reply `981a20fc-315b-4fd8-9783-9c3460a4840d` accepts local checklist
|
||||
preparation; P3 remains an explicit human custody choice and P4 remains source
|
||||
scaffold delivery. Reviewed original-thread receipts close T06 only.
|
||||
- Residual handed off before closure: CUST-WP-0076-T01 owns the operator's
|
||||
provisioning scope/date/cadence choice, returning to RPF-WP-0050-T03.
|
||||
It remains residual and is not implemented or scheduled.
|
||||
- Activity Core current source gates are reconciled separately from the
|
||||
historical registrar defect. Request `6bf8ca98-ada1-43ab-83e7-207d4ab195fe`
|
||||
and ACTIVITY-WP-0042-T08 retain that actual blocker. Read-only derivation proof
|
||||
found omitted legacy YAML task lists and a shared bound UUID; the prepared
|
||||
preflight-only patch is deliberately unapplied. No receiving preservation,
|
||||
consumer refresh or runtime acceptance is inferred.
|
||||
|
||||
- 2026-10-04 closing verification: all 28 selected qualifier/dependency rows,
|
||||
six human decision routes and three Activity/User actual-wait records match
|
||||
source at their task UUIDs. Freedom Intelligence was fast-forwarded before
|
||||
its checker repair; warning-level PASS alone was not accepted.
|
||||
T05 completes this reconciliation and the repeatable read-only monitor.
|
||||
Continuing automation and receiving diagnosis remain STATE-WP-0094,
|
||||
owner source scaffolds remain RPF-WP-0050/WARDEN-WP-0041, and cadence
|
||||
remains the unpromoted live residual CUST-WP-0076.
|
||||
Validation: 11 monitor tests; 182 State Hub checker/CLI tests; 118 Warden
|
||||
routing/plan tests; 7 platform renderer tests. Platform existing-suite
|
||||
catalog assertion (52/53) and three historical C07 assessment failures
|
||||
remain explicitly reported; no broad estate-wide clean audit is claimed.
|
||||
|
||||
- Closing monitor: `monitor-workers-2026-10-04.json`: 146 registered repos,
|
||||
144 available checkouts; 106 open non-residual plans, 241 waits, 86 human
|
||||
gates; zero unrouted/unqualified/terminal-predecessor waits and zero qualifier
|
||||
drift. All three owner handoffs satisfied. Two missing checkouts and sixteen
|
||||
historical parse warnings remain explicit coverage limits.
|
||||
|
|
|
|||
39
workplans/CUST-WP-0076-provisioning-window-cadence.md
Normal file
39
workplans/CUST-WP-0076-provisioning-window-cadence.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
id: CUST-WP-0076
|
||||
type: workplan
|
||||
title: "Select the attended provisioning window scope and cadence"
|
||||
domain: infotech
|
||||
repo: the-custodian
|
||||
status: proposed
|
||||
owner: the-custodian
|
||||
topic_slug: custodian
|
||||
created: "2026-10-04"
|
||||
updated: "2026-10-04"
|
||||
flavor: residual
|
||||
origin: residual
|
||||
origin_ref: CUST-WP-0075
|
||||
depends_on: []
|
||||
state_hub_workstream_id: "18883eed-7f50-5ba7-a735-a76313e158b1"
|
||||
---
|
||||
|
||||
# Select the attended provisioning window scope and cadence
|
||||
|
||||
## Return an explicit operator choice to platform
|
||||
|
||||
```task
|
||||
id: CUST-WP-0076-T01
|
||||
status: wait
|
||||
priority: low
|
||||
needs_human: true
|
||||
decision_id: "62aa95e4-3ccc-4867-8806-5e3db005b483"
|
||||
blocking_reason: "Operator must select the concrete attended provisioning scope, date and any recurrence; the checklist renderer does not authorize a session."
|
||||
state_hub_task_id: "04cdf9ad-ac92-5f7a-87bb-8c9d34e933df"
|
||||
```
|
||||
|
||||
Residual handoff from CUST-WP-0075 P2. RPF-WP-0050-T01 delivers the local
|
||||
checklist renderer; RPF-WP-0050-T03 waits for this return. On explicit demand
|
||||
promotion, obtain the operator's bounded scope/date/cadence and send it on
|
||||
proposal thread `f84637fa-2355-4971-a2dc-7f1fd01710a8`. A broad D1 resolution
|
||||
without that concrete choice does not satisfy this task. Scheduling and live
|
||||
provisioning need their own authorized reviewed preparation. This residual
|
||||
is not a request to activate a recurring automation.
|
||||
Loading…
Add table
Add a link
Reference in a new issue