{
  "version": "workflow_executor.v1",
  "generated_at": "2026-04-17T07:41:23.678526Z",
  "meta": {
    "root_dir": "/wwwb/aitools/writer",
    "workflow_registry_path": "/wwwb/aitools/writer/workflow.json",
    "execute_tests": false
  },
  "state": {
    "current_stage": "Now-11",
    "current_substage": "S6-Step-12",
    "current_stage_ref": "Now-11 / S6-Step-12",
    "current_status": "in_progress",
    "current_workflow_id": "work_entity_pool_redesign_rollout"
  },
  "workflow": {
    "id": "work_entity_pool_redesign_rollout",
    "title": "Work Entity Pool Redesign Rollout",
    "purpose": "Redesign the system around a work-scoped entity pool so book-specific names, aliases, titles, organizations, locations, props, and concept entities live in data contracts instead of leaking into generic production heuristics.",
    "agent_count": 6,
    "step_count": 6
  },
  "summary": {
    "verdict": "ready",
    "guard_status": "pass",
    "workflow_id": "work_entity_pool_redesign_rollout",
    "required_test_total": 4,
    "required_test_pass_count": 0,
    "required_test_fail_count": 0,
    "required_test_pending_count": 4,
    "required_artifact_total": 2,
    "required_artifact_missing_count": 0,
    "required_report_check_total": 3,
    "required_report_check_fail_count": 0,
    "required_report_check_missing_count": 0,
    "blocking_issue_count": 0,
    "execute_tests": false
  },
  "blockers": [],
  "plan_items": [
    {
      "id": "control_plane_guard",
      "type": "guard",
      "status": "pass",
      "blocking": false,
      "source": "scripts/workflow_guard.py",
      "note": "control plane must be aligned before executor proceeds"
    },
    {
      "id": "workflow_step_1",
      "type": "workflow_step",
      "workflow_stage": "preflight_reassessment",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "confirm existing agents are sufficient and update workflow.json before implementation because the work shape changed",
        "freeze that the new layer is named work entity pool rather than terminology pool or prompt exception list",
        "confirm Dramart-first priority remains primary while the redesign proceeds"
      ]
    },
    {
      "id": "workflow_step_2",
      "type": "workflow_step",
      "workflow_stage": "anti_exhaustive_audit",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "audit current production modules for sample leakage, one-off entity literals, and heuristic sprawl",
        "separate acceptable generic family rules from work-specific knowledge that belongs in the entity pool",
        "do not normalize sample-specific rewrites as canonical product logic"
      ]
    },
    {
      "id": "workflow_step_3",
      "type": "workflow_step",
      "workflow_stage": "entity_pool_contract",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "freeze a minimal work entity pool schema with stable ids, canonical names, aliases, type, optional titles, optional faction, and disambiguation notes",
        "define clear boundaries for what belongs in the entity pool and what must remain in generic engine logic",
        "keep the entity pool as auditable data/config rather than executable per-sample rewrite rules"
      ]
    },
    {
      "id": "workflow_step_4",
      "type": "workflow_step",
      "workflow_stage": "integration_plan",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "define how ontology, kg, entity_registry, screenplay, dramart_package, and prompt or review guards consume the entity pool",
        "prefer deterministic matching, binding, and validation before any LLM consultation",
        "make sure downstream contracts remain traceable to entity_uid and source refs rather than raw names alone"
      ]
    },
    {
      "id": "workflow_step_5",
      "type": "workflow_step",
      "workflow_stage": "boundary_guard_and_acceptance",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "define guardrails that prevent book-specific literals from silently re-entering generic production code",
        "define prompt-boundary rules so prompts consume entity-pool data but do not accumulate endless sample-specific instructions",
        "freeze test, validation, and closeout standards before feature implementation resumes"
      ]
    },
    {
      "id": "workflow_step_6",
      "type": "workflow_step",
      "workflow_stage": "smoke_regression",
      "status": "planned",
      "blocking": false,
      "source": "workflow:work_entity_pool_redesign_rollout",
      "check_count": 3,
      "checks": [
        "control-plane tests pass after workflow and stage switch",
        "workflow_guard reports pass with the new redesign stage aligned",
        "workflow_executor can resolve the redesign workflow without ambiguity"
      ]
    },
    {
      "id": "now11_s6_step12_bootstrap_regression",
      "type": "required_test",
      "status": "pending_execute",
      "blocking": false,
      "source": "phase_acceptance.required_tests",
      "required_for": "substage_closeout",
      "command": "PYTHONPATH=src python -m pytest -q tests/test_work_entity_pool_bootstrap.py tests/test_work_entity_pool.py"
    },
    {
      "id": "now11_s6_step12_operator_flow_regression",
      "type": "required_test",
      "status": "pending_execute",
      "blocking": false,
      "source": "phase_acceptance.required_tests",
      "required_for": "substage_closeout",
      "command": "PYTHONPATH=src python -m pytest -q tests/test_pipeline_work_entity_pool_resolution.py tests/test_work_entity_pool_bootstrap.py tests/test_work_entity_pool.py tests/test_work_entity_pool_screenplay_dramart.py tests/test_entity_registry_quality.py tests/test_work_entity_pool_boundary_guards.py"
    },
    {
      "id": "now11_s6_step12_workflow_guard",
      "type": "required_test",
      "status": "pending_execute",
      "blocking": false,
      "source": "phase_acceptance.required_tests",
      "required_for": "substage_closeout",
      "command": "PYTHONPATH=src python scripts/workflow_guard.py"
    },
    {
      "id": "now11_s6_step12_executor_smoke",
      "type": "required_test",
      "status": "pending_execute",
      "blocking": false,
      "source": "phase_acceptance.required_tests",
      "required_for": "substage_closeout",
      "command": "PYTHONPATH=src python scripts/run_workflow_executor.py --root . --workflow-id work_entity_pool_redesign_rollout --out-dir outputs/workflow_executor --report-name workflow_executor_current"
    },
    {
      "id": "required_artifact_1",
      "type": "required_artifact",
      "status": "pass",
      "blocking": false,
      "source": "phase_acceptance.required_artifacts",
      "path": "outputs/workflow_executor/workflow_executor_current.json"
    },
    {
      "id": "required_artifact_2",
      "type": "required_artifact",
      "status": "pass",
      "blocking": false,
      "source": "phase_acceptance.required_artifacts",
      "path": "outputs/workflow_executor/workflow_executor_current.md"
    },
    {
      "id": "execution_state_current_substage",
      "type": "required_report_check",
      "status": "pass",
      "blocking": false,
      "source": "phase_acceptance.required_report_checks",
      "path": "execution_state.json",
      "json_path": "current_substage",
      "actual_value": "S6-Step-12",
      "allowed_values": [
        "S6-Step-12"
      ]
    },
    {
      "id": "execution_state_current_workflow",
      "type": "required_report_check",
      "status": "pass",
      "blocking": false,
      "source": "phase_acceptance.required_report_checks",
      "path": "execution_state.json",
      "json_path": "current_workflow_id",
      "actual_value": "work_entity_pool_redesign_rollout",
      "allowed_values": [
        "work_entity_pool_redesign_rollout"
      ]
    },
    {
      "id": "phase_acceptance_substage",
      "type": "required_report_check",
      "status": "pass",
      "blocking": false,
      "source": "phase_acceptance.required_report_checks",
      "path": "phase_acceptance.json",
      "json_path": "substage_id",
      "actual_value": "S6-Step-12",
      "allowed_values": [
        "S6-Step-12"
      ]
    }
  ]
}