diff --git a/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md b/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md index d828e60..5a40872 100644 --- a/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md +++ b/workplans/STATE-WP-0094-routed-gates-and-owner-returns.md @@ -115,6 +115,25 @@ the supported alternative is immutable Forge reconciliation (STATE-WP-0086) and a separately reviewed freshness/wakeup runner under T03/T05. No scheduler, deployment, credential or human decision was changed. +2026-10-04 owner note (source only; T03/T05 remain progress): Forge receiving +now derives frontmatter and task-block `depends_on` edges from the pinned +commit and reconciles `workplan_dependencies` under the source-edge ownership +contract in `docs/forge-dependency-edge-receiving.md` (additive migration +`b3c4d5e6f7a8`: `source_owner` / `source_commit`). Only `forge:` rows +are created or removed; external relations are preserved and reported; +missing/ambiguous/self targets are recorded in `unresolved_edges` and hold the +from-side's owned edges; failures roll back; repeat receipts are noop. Real +PostgreSQL receiving tests cover this (`tests/test_forge_dependency_edges.py`). +For T03, C-25 reply collection now pages (`offset`, stable `created_at, id` +ordering on `GET /messages/`) instead of capping at 200 per counterpart, dedups +by message id and emits an explicit incomplete WARN when the hub ignores paging +or the page bound is hit (`tests/test_c25_message_pagination.py`). Remaining: +deployment of the migration and receiving change needs separate founder +authorization; freshness schedule evidence (runner revision, active definition, +per-repository receipts, freshness window) is being handled by the +repo-manager/activity-core agents; T03 owner-runner consumption and activation +are unchanged. No deployment, Helm, schedule or legacy sweep was touched. + ## Source validation receipt