Work Packages: hosted-opt-in-drain-ledger-01M3FFEV

_Generated by finalize-tasks from wps.yaml. Do not edit directly._


Work Package WP01: Posture core: drain + ledger posture reader, personal writer, root test-harness fixture

Dependencies: None Requirement Refs: FR-001, FR-002, FR-003, FR-008, C-002, C-003 Plan Concerns: IC-01 Owned Files: src/specify_cli/core/hosted_posture.py, src/specify_cli/core/toml_table.py, src/specify_cli/zeitgeist_client/moments.py, tests/specify_cli/core/test_hosted_posture.py, tests/specify_cli/core/test_toml_table.py, tests/conftest.py Subtasks: T001, T002, T003, T004, T005 Prompt: tasks/WP01-posture-core.md


Work Package WP02: Relay edges: offer DRAIN_DISABLED, stream/history gates, drill, relay CLI and MCP pre-flight + guidance

Dependencies: WP01 Requirement Refs: FR-004, FR-005, FR-006, NFR-003, C-005 Plan Concerns: IC-02, IC-06 Owned Files: src/specify_cli/zeitgeist_client/transport.py, src/specify_cli/zeitgeist_client/filtered_stream.py, src/specify_cli/zeitgeist_client/history.py, src/specify_cli/zeitgeist_client/operability.py, src/specify_cli/zeitgeist_client/mcp_stdio.py, src/specify_cli/cli/commands/zeitgeist.py, tests/zeitgeist_client/test_drain_relay_edges.py, tests/cli/commands/test_zeitgeist_drain_guidance.py, tests/zeitgeist_client/test_mcp_stdio_drain.py Subtasks: T006, T007, T008, T009, T010 Prompt: tasks/WP02-relay-edges.md


Work Package WP03: Capability + fan-out: gateway method gates, resolve_* pre-cache check, adapters, bridge, runtime producer, live-work, routes, widen probe

Dependencies: WP01 Requirement Refs: FR-004, FR-006, NFR-001, NFR-003, C-004, C-005 Plan Concerns: IC-02 Owned Files: src/specify_cli/zeitgeist_client/resolution.py, src/specify_cli/status/adapters.py, src/specify_cli/status/zeitgeist_bridge.py, src/specify_cli/events/runtime_moments.py, src/specify_cli/live_work/, src/specify_cli/retrospective/lifecycle_events.py, src/specify_cli/cli/commands/routes.py, src/specify_cli/cli/commands/live_work.py, src/specify_cli/widen/prereq.py, tests/zeitgeist_client/test_drain_capability.py, tests/status/test_drain_fanout.py, tests/specify_cli/live_work/test_drain_live_work.py, tests/specify_cli/widen/test_prereq_drain.py, tests/cli/commands/test_routes_command.py Subtasks: T011, T012, T013, T014, T015, T016 Prompt**: tasks/WP03-capability-fanout.md


Work Package WP04: Non-vacuous drain arch gate + NFR-001/NFR-004 posture matrix integration walk

Dependencies: WP02, WP03, WP05 Requirement Refs: NFR-001, NFR-002, NFR-004, FR-010 Plan Concerns: IC-03 Owned Files: tests/architectural/test_hosted_drain_gate.py, tests/architectural/test_egress_consent_boundary.py, tests/integration/test_hosted_posture_matrix.py, tests/architectural/_baselines.yaml Subtasks: T017, T018, T019, T020 Prompt: tasks/WP04-drain-gate-and-matrix.md


Work Package WP05: Ledger: single derived-view writer, execution-state projection refresh, hook sites, ledger-floor guard

Dependencies: WP01 Requirement Refs: FR-008, FR-009, FR-010, NFR-004 Plan Concerns: IC-04 Owned Files: src/specify_cli/status/views.py, src/specify_cli/status/progress.py, src/specify_cli/status/lifecycle.py, src/specify_cli/status/emit.py, src/specify_cli/coordination/status_transition.py, tests/status/test_execution_projection.py, tests/architectural/test_ledger_floor.py Subtasks: T021, T022, T023, T024, T025 Prompt: tasks/WP05-ledger-projection.md


Work Package WP06: Endpoint opt-in: no packaged fallback in resolver, explicit vs automatic caller split

Dependencies: None Requirement Refs: FR-011, FR-012, C-006 Plan Concerns: IC-05 Owned Files: src/specify_cli/auth/config.py, src/specify_cli/auth/server_target.py, src/specify_cli/auth/flows/, src/specify_cli/auth/token_manager.py, src/specify_cli/auth/http/transport.py, src/specify_cli/cli/commands/_auth_saas_target.py, src/specify_cli/cli/commands/_auth_login.py, src/specify_cli/cli/commands/_auth_logout.py, src/specify_cli/cli/commands/_auth_doctor.py, src/specify_cli/saas_client/auth.py, src/specify_cli/tracker/saas_client.py, src/specify_cli/tracker/saas_readiness.py, src/specify_cli/tracker/egress_verdict.py, tests/auth/, tests/cli/commands/test_auth_*.py, tests/cli/test_auth_saas_target_cleanup.py, tests/tracker/test_physical_request_helpers.py Subtasks: T026, T027, T028, T029, T030 Prompt: tasks/WP06-endpoint-opt-in.md


Work Package WP07: Migration opt-in (retired target delete + D-6 session backfill) and remaining default-URL test re-pins

Dependencies: WP06 Requirement Refs: FR-013, FR-011, FR-016 Plan Concerns: IC-05 Owned Files: src/specify_cli/upgrade/migrations/m_4_0_0_retired_hosted_target.py, src/specify_cli/upgrade/migrations/m_4_0_0rc5_hosted_endpoint_session_backfill.py, tests/specify_cli/upgrade/migrations/test_hosted_endpoint_session_backfill.py, tests/specify_cli/upgrade/migrations/test_retired_hosted_target.py, tests/tracker/test_server_target_fail_closed.py, tests/specify_cli/saas_client/, tests/integration/test_spec_kitty_home_cli.py Subtasks: T031, T032, T033 Prompt**: tasks/WP07-migration-and-repins.md


Work Package WP08: Operator surface (moments drain), ADR, docs, changelog

Dependencies: WP02, WP03, WP05, WP07 Requirement Refs: FR-007, FR-014, FR-015 Plan Concerns: IC-06, IC-07 Owned Files: src/specify_cli/cli/commands/moments.py, tests/cli/commands/test_moments_drain.py, docs/adr/3.x/2026-09-26-3-hosted-interaction-opt-in.md, docs/api/configuration.md, docs/api/environment-variables.md, docs/context/team-kitty.md, docs/changelog/CHANGELOG.md, docs/adr/3.x/index.md, docs/development/3-2-page-inventory.yaml Subtasks: T034, T035, T036, T037 Prompt: tasks/WP08-operator-surface-docs-adr.md