Adds preferred workplan REST/event surfaces, legacy-meter telemetry and weekly review summaries, documentation/dashboard terminology updates, dashboard API loading fixes, and close-out sync for STATE-WP-0052 and STATE-WP-0054.
12 KiB
id, type, title, domain, repo, status, owner, topic_slug, created, updated, state_hub_workstream_id
| id | type | title | domain | repo | status | owner | topic_slug | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|
| STATE-WP-0052 | workplan | Task State Canon Adaptation | custodian | state-hub | finished | codex | custodian | 2026-05-25 | 2026-06-04 | bc54c18b-4d98-430d-b9ad-c4410010c897 |
STATE-WP-0052 - Task State Canon Adaptation
Goal
Adapt State Hub and its attached repository coordination surfaces to the updated InfoTechCanon task lifecycle.
The canon now recommends the seed task lifecycle:
| Code | Stored value | Meaning |
|---|---|---|
WAIT |
wait |
Blocked, paused, or waiting on another actor, event, decision, input, or condition. |
TODO |
todo |
Ready or planned work that is not actively being worked. |
PROG |
progress |
Active work in focus. |
DONE |
done |
Completed successfully. |
CNCL |
cancel |
Stopped because the work is no longer relevant, wanted, or valid. |
State Hub currently persists and documents task states as:
todo, in_progress, blocked, done, cancelled
This workplan migrates the State Hub task model to the canon values while preserving enough legacy compatibility for existing workplan files, API clients, MCP clients, dashboards, automations, and attached repo agents to adapt safely.
Source Canon
Primary source:
info-tech-canon/infospace/models/task/InfoTechCanonTaskModel.mdinfo-tech-canon/seeds/InfoTechCanonTaskModel_RC1_seed.md
Important canon rules to preserve:
- persisted seed values are lowercase:
wait,todo,progress,done,cancel; WAITcovers blocked, paused, and waiting conditions;PROGshould be the only active-work state;CNCLis final;DONEis terminal by default and should reopen only through an explicit profile rule.
State Hub Profile Decisions To Confirm
The first implementation pass should record these as explicit decisions before changing code:
- State Hub stores lowercase values, not uppercase codes.
- Old State Hub values are accepted as compatibility aliases:
blocked -> wait,in_progress -> progress,cancelled -> cancel, andcanceled -> cancel. blocking_reason,needs_human, andintervention_noteremain separate fields. Awaittask is not automatically human-blocked unless those fields say so.- Workstream/workplan frontmatter lifecycle states remain separate and are not changed by this workplan.
- Compatibility aliases are time-boxed and writebacks should prefer canonical values.
Propagation Strategy For Attached Repos
Attached repos are the active repos registered in State Hub via GET /repos/.
They should not be edited directly from the State Hub repo session. Instead:
- Publish a State Hub interface-change record with
repo_slug=state-hub,interface_type=schema,change_type=breaking, and the active registered repo slugs inaffected_repo_slugs. The change citesinfo-tech-canonas the canon source and State Hub as the schema/API publisher. - Let the interface-change publisher send inbox messages to affected repo agents.
- For repos that need local file or code changes, create ecosystem tasks with
titles prefixed
[repo:<slug>]. - Include a short migration brief in every message/task:
blocked -> wait,in_progress -> progress,cancelled/canceled -> cancel,todoanddoneunchanged. - Each target repo's own agent creates or updates its local workplan and makes local edits.
This uses the existing repo boundary rule and avoids cross-repo writes.
T01 - Capture The Canon Delta And State Hub Profile
id: STATE-WP-0052-T01
status: done
priority: high
state_hub_task_id: "09c4d7ef-d193-48ed-b127-611e26b70ba0"
Write a short State Hub design note for the task-state migration.
Requirements:
- cite the exact InfoTechCanon Task Model paths and relevant sections;
- record the State Hub profile decisions from this workplan;
- define the compatibility alias table;
- define terminal/reopen behavior for
doneandcancel; - explain how
waitrelates toneeds_human,blocking_reason, and intervention workflows; - state explicitly that workstream/workplan lifecycle states are out of scope.
Done when the design note can be used as the implementation source of truth.
T02 - Inventory State Hub Impact
id: STATE-WP-0052-T02
status: done
priority: high
state_hub_task_id: "c79ce637-7140-4a16-8d20-b89edee4b98f"
Inventory every State Hub surface that embeds task-state values.
Expected areas:
- API models, schemas, routers, and migrations;
- consistency and validation scripts;
- reconciliation and lifecycle services;
- MCP server docs and tool descriptions;
- dashboard status controls, filters, colors, sorting, charts, and docs;
- generated agent instruction templates;
- cleanup, recently-on-scope, execution, repo-sync, and token hooks;
- tests and fixtures;
- README and dashboard reference pages.
Done when the workplan has an implementation checklist with affected files, required changes, and risk notes.
T03 - Implement Compatibility Constants And Normalization
id: STATE-WP-0052-T03
status: done
priority: high
state_hub_task_id: "206511ae-76a8-4c47-a1b2-114b115f8c1c"
Introduce a single State Hub source of truth for task statuses and aliases.
Requirements:
- canonical statuses:
wait,todo,progress,done,cancel; - legacy aliases:
blocked,in_progress,cancelled,canceled; - helper functions to normalize file/API/DB inputs;
- status ordering for no-regress checks:
todo < wait/progress < done/cancel; - open status set:
wait,todo,progress; - terminal status set:
done,cancel; - UI labels and colors aligned with the canon palette where practical.
Done when scripts, API code, and dashboard code no longer maintain independent task-status literal sets except in tests that intentionally assert them.
T04 - Migrate Database And API Contract
id: STATE-WP-0052-T04
status: done
priority: high
state_hub_task_id: "bf4c6891-64a5-49e6-9bf6-d70577d494e7"
Update the persisted task status model and public API.
Requirements:
- add an Alembic migration that converts existing rows:
blocked -> wait,in_progress -> progress,cancelled -> cancel; - handle PostgreSQL enum replacement safely;
- keep
todoanddoneunchanged; - accept legacy aliases in request payloads during the compatibility window;
- return canonical values from read endpoints after migration;
- update OpenAPI/Pydantic schemas and validation errors;
- preserve soft-delete semantics currently tied to
cancelledby moving them tocancel.
Done when existing data migrates cleanly and API responses expose only canonical task values.
T05 - Update Workplan File Sync And Repo Guidance
id: STATE-WP-0052-T05
status: done
priority: high
state_hub_task_id: "c9e6a649-8e1c-4d3c-b51a-1814687a99be"
Update file-backed workplan behavior and generated repo instructions.
Requirements:
- accept old task statuses in existing workplan files without immediate breakage;
- write canonical task statuses when the consistency engine patches files;
- update
AGENTS.mdguidance and project-rule templates; - update session protocol text that talks about open tasks;
- update workplan examples and validation messages;
- update close-out instructions so operators run consistency after migration.
Done when new workplans use wait/todo/progress/done/cancel and old files can
still sync through a deliberate migration window.
T06 - Update Dashboard, MCP, And Operational UX
id: STATE-WP-0052-T06
status: done
priority: high
state_hub_task_id: "0aaea886-9686-4fa7-94e5-e5a6649489e8"
Align human-facing and agent-facing State Hub surfaces.
Requirements:
- dashboard task controls show
wait,todo,progress,done,cancel; - filters, ordering, charts, KPI cards, and status chips use the new values;
- intervention pages distinguish
waitfromneeds_human; - MCP tool descriptions and docs advertise canonical values and alias behavior;
- operational docs explain the migration and the reason for the vocabulary change;
- any "blocked tasks" view is renamed or clarified as human-blocked/waiting.
Done when dashboard, MCP, and docs no longer present the old values as canonical.
T07 - Update Tests And Migration Fixtures
id: STATE-WP-0052-T07
status: done
priority: high
state_hub_task_id: "c884eea6-1b69-4636-86f2-475d5ec4ea9b"
Revise tests to lock down the new lifecycle.
Requirements:
- unit tests for normalization aliases;
- DB migration tests for old-to-new values;
- API tests for canonical responses and legacy request aliases;
- consistency tests for no-regress ordering and file writeback behavior;
- reconciliation tests for
waitplusneeds_human/blocking_reason; - dashboard tests for status controls and stale-current-status conflicts;
- documentation validation tests for generated instructions.
Done when the full State Hub test suite passes and failures would catch reintroduction of old canonical literals.
T08 - Prepare Attached Repo Adaptation Brief
id: STATE-WP-0052-T08
status: done
priority: high
state_hub_task_id: "b659724d-bda1-4dec-9af1-4d5e08f4db94"
Create a concise adaptation brief for all attached repos.
Brief contents:
- canon source and date;
- new task state table and old-to-new mapping;
- request to update local
AGENTS.md/CLAUDE.md, workplan examples, scripts, docs, dashboards, and tests if they mention task statuses; - note that
waitis broader than oldblocked; - note that
cancelreplacescancelled/canceled; - compatibility window expectations;
- State Hub API behavior after migration;
- how the repo should report completion.
Done when the brief is ready to embed in interface-change messages and
[repo:<slug>] ecosystem tasks.
T09 - Publish Interface Change And Route Repo Requests
id: STATE-WP-0052-T09
status: done
priority: high
state_hub_task_id: "6479748b-c922-41e3-ad12-15015b2f56a9"
Notify attached repos through State Hub rather than editing them directly.
Requirements:
- query active registered repos from
GET /repos/; - classify repos by likely impact: State Hub clients, repos with workplans/agent instructions, repos with task status code, and no-direct-impact repos;
- create and publish one
schema/breakinginterface-change record from State Hub, citinginfo-tech-canonas the canon source; - include all active registered repos that should receive the canon notice in
affected_repo_slugs; - create
[repo:<slug>]ecosystem tasks for repos that need local adaptation; - use broadcast only for general awareness, not as the only tracking mechanism for repos needing changes.
Done when every attached repo has either an inbox message, a targeted ecosystem task, or a recorded no-impact classification.
T10 - Roll Out, Verify, And Close Compatibility Window
id: STATE-WP-0052-T10
status: done
priority: medium
state_hub_task_id: "1cde226a-6287-4db4-9d2f-7fa9ed0b6c4d"
Complete rollout and decide when legacy aliases stop being first-class.
Requirements:
- run State Hub migrations and tests;
- run consistency against State Hub and a representative attached-repo sample;
- check dashboards and MCP docs after migration;
- verify interface-change notifications were delivered;
- monitor attached repo adaptation tasks;
- record a decision for when legacy aliases become warnings or errors;
- after the window closes, remove old values from examples and non-compatibility documentation.
Done when State Hub is canon-conformant, attached repos have been notified, and the remaining compatibility window is explicit.
Close-out note: attached repos were notified through interface change
649102a2-4373-4621-9848-cc257e67c262; decision
c386f42f-a50a-41d9-9457-f384227f8f6c keeps legacy aliases accepted during the
adaptation window and leaves any future warnings/errors to a later explicit
decision.
Acceptance Criteria
- State Hub persists canonical task states as
wait,todo,progress,done, andcancel. - Legacy task status values are normalized safely during the migration window.
- Existing DB rows and workplan files do not lose task state information.
- Dashboard, MCP, generated instructions, docs, and tests align with the new canon.
- Attached repos receive actionable adaptation information through State Hub's interface-change/messages/task-routing mechanisms.
- No attached repo is directly edited from the State Hub session.