Daily Content Writer produces full reviewable packages from Active Weekly Plan #19

Closed
opened 2026-05-28 18:14:54 +01:00 by bingoss · 1 comment
Owner

What to build

Type: AFK.

Create the Content Writer specialist path for Daily Content Production. It should consume only ready work from the Active Weekly Plan and produce complete Daily Content Packages with artifact links for review, not briefs that require a second generation pass.

Acceptance criteria

  • Daily Content Production selects eligible ready work only from the Active Weekly Plan.
  • Article, refresh, improvement, internal-link, FAQ/schema, and handoff package types produce complete reviewable packages when selected.
  • Generated package state is stored in Postgres with main artifact links and queue lifecycle events.
  • The workflow blocks safely when evidence or claim boundaries are missing instead of inventing work.
  • Tests are written first for package success, no active plan, missing evidence, and queue lifecycle behavior.

Blocked by

None - can start immediately

## What to build Type: AFK. Create the Content Writer specialist path for Daily Content Production. It should consume only ready work from the Active Weekly Plan and produce complete Daily Content Packages with artifact links for review, not briefs that require a second generation pass. ## Acceptance criteria - [ ] Daily Content Production selects eligible ready work only from the Active Weekly Plan. - [ ] Article, refresh, improvement, internal-link, FAQ/schema, and handoff package types produce complete reviewable packages when selected. - [ ] Generated package state is stored in Postgres with main artifact links and queue lifecycle events. - [ ] The workflow blocks safely when evidence or claim boundaries are missing instead of inventing work. - [ ] Tests are written first for package success, no active plan, missing evidence, and queue lifecycle behavior. ## Blocked by None - can start immediately
Author
Owner

Issue #19 completion audit

Implemented and verified:

  • Daily Content Production now carries Active Weekly Plan instructions and claim boundaries through the Postgres queue adapter instead of inventing defaults.
  • Daily Content Production can select and produce six supported package types from the Active Weekly Plan: new_article, article_refresh, content_improvement, internal_link, faq_schema, and technical_fix_handoff.
  • Reviewable package state is stored in Postgres with package types, content QA status where produced, main/draft/QA/source links, technical_handoff links for handoff packages, queue movement to review, and lifecycle events.
  • No active plan/no eligible active-plan rows fail closed without creating reviewable packages.
  • Missing evidence or missing claim boundaries block the queue item safely, record blocked_reason/last_error and queue_item_blocked event, and create no reviewable artifact.

Acceptance criteria audit:

  • Daily Content Production selects eligible ready work only from the Active Weekly Plan: met by existing active-plan claim tests plus no-active-plan test.
  • Article, refresh, improvement, internal-link, FAQ/schema, and handoff package types produce complete reviewable packages when selected: met by six-package daily runner test.
  • Generated package state is stored in Postgres with main artifact links and queue lifecycle events: met by reviewable_artifacts, artifact_links, queue lane, and event assertions.
  • Workflow blocks safely when evidence or claim boundaries are missing instead of inventing work: met by missing-evidence and missing-claim-boundaries tests.
  • Tests first for package success, no active plan, missing evidence, and queue lifecycle behavior: met; server RED failed on missing queue fields, three-item cap, and unsafe generation before implementation, then GREEN.

Tests run on codex-server:

  • python3 -m unittest tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_postgres_queue_row_preserves_plan_evidence_and_claim_boundaries_without_defaults tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_creates_reviewable_packages_for_supported_active_plan_types tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_reports_no_active_plan_without_creating_packages tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_blocks_missing_evidence_without_inventing_package tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_blocks_missing_claim_boundaries_without_inventing_package
  • python3 -m unittest tests.test_postgres_schema tests.test_growth_engine tests.test_weekly_telegram_summary tests.test_growth_orchestrator_worker tests.test_content_planner_contract
  • git diff --check
  • Result: targeted slice passed; 182-test broad regression passed; diff check clean.
Issue #19 completion audit Implemented and verified: - Daily Content Production now carries Active Weekly Plan instructions and claim boundaries through the Postgres queue adapter instead of inventing defaults. - Daily Content Production can select and produce six supported package types from the Active Weekly Plan: new_article, article_refresh, content_improvement, internal_link, faq_schema, and technical_fix_handoff. - Reviewable package state is stored in Postgres with package types, content QA status where produced, main/draft/QA/source links, technical_handoff links for handoff packages, queue movement to review, and lifecycle events. - No active plan/no eligible active-plan rows fail closed without creating reviewable packages. - Missing evidence or missing claim boundaries block the queue item safely, record blocked_reason/last_error and queue_item_blocked event, and create no reviewable artifact. Acceptance criteria audit: - Daily Content Production selects eligible ready work only from the Active Weekly Plan: met by existing active-plan claim tests plus no-active-plan test. - Article, refresh, improvement, internal-link, FAQ/schema, and handoff package types produce complete reviewable packages when selected: met by six-package daily runner test. - Generated package state is stored in Postgres with main artifact links and queue lifecycle events: met by reviewable_artifacts, artifact_links, queue lane, and event assertions. - Workflow blocks safely when evidence or claim boundaries are missing instead of inventing work: met by missing-evidence and missing-claim-boundaries tests. - Tests first for package success, no active plan, missing evidence, and queue lifecycle behavior: met; server RED failed on missing queue fields, three-item cap, and unsafe generation before implementation, then GREEN. Tests run on codex-server: - python3 -m unittest tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_postgres_queue_row_preserves_plan_evidence_and_claim_boundaries_without_defaults tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_creates_reviewable_packages_for_supported_active_plan_types tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_reports_no_active_plan_without_creating_packages tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_blocks_missing_evidence_without_inventing_package tests.test_postgres_schema.SliceThreeContentPlanAndQueueDispatchTests.test_daily_runner_blocks_missing_claim_boundaries_without_inventing_package - python3 -m unittest tests.test_postgres_schema tests.test_growth_engine tests.test_weekly_telegram_summary tests.test_growth_orchestrator_worker tests.test_content_planner_contract - git diff --check - Result: targeted slice passed; 182-test broad regression passed; diff check clean.
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bingoss/owned-growth-engine#19
No description provided.