{ "schemaVersion": 1, "workstreamId": "AUTOMATION-HANDOFF-01", "kind": "BLOCKERS", "items": [ { "id": "P10-ENTRY-01", "description": "No protected owner approval of the final published development baseline and exact cleanup scope was supplied to this handoff.", "evidence": [ "AUTHORITY.md", "docs/cv-integration-qa/PHASE_10_HANDOFF.md" ], "severity": "HIGH", "acceptanceCriterion": "Exact baseline/scope and independent stage entry", "requiredAction": "Review the completed package and candidate scope; grant phase10-development-entry only through the separate protected approval process. A repository GO is insufficient.", "blockingPhase": [ "PHASE-10" ], "responsibleParty": "Owner / protected controller approval authority", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "P10-CANDIDATE-01", "description": "No proposed product deletion has proven absence of static, dynamic, route and historical-data consumers.", "evidence": [ "CLEANUP_INVENTORY.md", "docs/redesign/IMPLEMENTATION_PLAN.md" ], "severity": "HIGH", "acceptanceCriterion": "Unused-route proof; passing affected tests; satisfied functionality inventory", "requiredAction": "Prepare and approve a concrete candidate with caller/route/inventory/rollback proof and affected native regression; retain every active compatibility path.", "blockingPhase": [ "PHASE-10: each removal candidate" ], "responsibleParty": "Development owner / reviewer", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "AUTO-RUNTIME-01", "description": "Current single-user controller reports real MXC canary PASS, but no actual owner key or ChatGPT sign-in, operator-controlled policy and disabled real execution; current-context qualification/activation remains incomplete.", "evidence": [ "CONTROLLER_ADDENDUM.md", "READY_TO_RUN.md", "controller-current-native-qualification-json", "controller-current-setup-results-json" ], "severity": "HIGH", "acceptanceCriterion": "Independent qualified execution boundary", "requiredAction": "Operator must sign into dedicated auth-only profile, configure the actual protected owner key and qualify its host-positive/worker-negative boundary and fresh current-context controls, then independently approve runtime/queue/entry policy. Existing same-user MXC mode does not require a new account or VM; its finite canaries do not qualify actual owner credentials or roadmap execution. This handoff must not operate that runtime.", "blockingPhase": [ "AUTOMATIC_PHASE-10_EXECUTION" ], "responsibleParty": "AUTONOMOUS-ROADMAP-01 platform operator", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "AUTO-ADAPTER-01", "description": "The external controller real-stage test adapter is unconfigured; synthetic orchestration tests are not application qualification.", "evidence": [ "ROADMAP.md", "READY_TO_RUN.md" ], "severity": "HIGH", "acceptanceCriterion": "Qualified real-stage composite test adapter", "requiredAction": "Install/review actual commands and parsers, source and suite membership, report freshness and failure/skip/retry/cleanup policy. Independently rerun candidate checks; do not set configured=true as a bypass.", "blockingPhase": [ "AUTOMATIC_PHASE-10_EXECUTION" ], "responsibleParty": "AUTONOMOUS-ROADMAP-01 test-adapter maintainer", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "PDF-S01-01", "description": "Revised-template S01 DOM Range versus PDF character-cell coordinate failures remain undispositioned. Raster agreement is a different measurement.", "evidence": [ "docs/pre-phase10-ux/ACCEPTANCE.md", "VISUAL_REVIEW.md" ], "severity": "MODERATE", "acceptanceCriterion": "Required preview/PDF fidelity and visual spacing qualification", "requiredAction": "Retain original oracle and all failures. Investigate/fix an actual measured defect; obtain explicit protected scope/criterion disposition if applicability is ambiguous. Do not waive an automated requirement using a model summary or change goldens to conceal failures.", "blockingPhase": [ "PHASE-10: document/rendering scope or required PDF gate", "PRODUCTION" ], "responsibleParty": "Document QA owner / owner acceptance authority", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "HUMAN-01", "description": "Physical device, keyboard/AT/contrast, human EN/Bokmål, typography and actual printing acceptance are not provided.", "evidence": [ "MANUAL_ACCEPTANCE.md" ], "severity": "MODERATE", "acceptanceCriterion": "Genuine human/device/language/print acceptance", "requiredAction": "Complete the prioritised manual scenarios; record exact device/AT/language/print evidence outside model-writable approval authority. Candidate-specific regressions still block.", "blockingPhase": [ "HUMAN_ACCEPTANCE", "PRODUCTION", "PHASE-10: affected candidate requires preservation" ], "responsibleParty": "Owner / human QA", "deferralAuthority": "docs/redesign/phase-9/REQUEST.md:246–252 permits genuine unfinished human checks as release gates;426–439 requires individual disposition. This is not automatic Phase10 entry or an executable deferral.", "classification": "CONDITIONAL_DEVELOPMENT", "status": "CONDITIONALLY_DEFERRED" }, { "id": "AI-CV-01", "description": "The disabled/disconnected CV adapter has no accepted end-to-end semantic qualification. Three real isolated synthetic responses were rejected.", "evidence": [ "AI_EVALUATION_PLAN.md", "AI_RESULTS.md", "docs/cv-import/ACCEPTANCE.md" ], "severity": "HIGH", "acceptanceCriterion": "No invented facts; source-grounded factual accuracy and explicit user review", "requiredAction": "Keep CV_IMPORT_AI_ENABLED=false and active processing deterministic; qualify immutable model/runtime/schema/prompt on frozen real PDF/DOCX corpus, review burden and adversarial cases before activation. Small generic successes do not qualify CV accuracy.", "blockingPhase": [ "CV_MODEL_ACTIVATION", "CV_AI_ACCURACY", "PRODUCTION_AI_QUALITY" ], "responsibleParty": "AI qualification owner", "deferralAuthority": "docs/cv-import/ACCEPTANCE.md permits model-independent conditional development with inactive optional adapter; no security-risk waiver or automatic controller deferral.", "classification": "CONDITIONAL_DEVELOPMENT", "status": "CONDITIONALLY_DEFERRED" }, { "id": "DET-RECALL-01", "description": "Frozen deterministic PDF typed recall and unresolved-source precision remain partial; source correction is necessary.", "evidence": [ "docs/pre-phase10-ux/ACCEPTANCE.md" ], "severity": "MODERATE", "acceptanceCriterion": "Near-100% is aspirational; preserve unknown/ambiguous facts", "requiredAction": "Preserve source evidence, unknown values, conservative merges and manual corrections; benchmark changes on frozen corpus separately from model probes.", "blockingPhase": [ "BROAD_EXTRACTION_ACCURACY_CLAIMS", "PHASE-10: review/legacy compatibility removal" ], "responsibleParty": "CV/import QA owner", "deferralAuthority": "docs/cv-import/ACCEPTANCE.md and docs/cv-integration-qa/ACCEPTANCE.md explicitly condition supported workflow acceptance on these retained limitations.", "classification": "CONDITIONAL_DEVELOPMENT", "status": "CONDITIONALLY_DEFERRED" }, { "id": "PYSEC-01", "description": "Full Python dependency security is conditional; retained vendor-local Torch PyPI404 is not a clean two-provider/whole-image verdict.", "evidence": [ "docs/redesign/phase-9/p9-sec-02/ACCEPTANCE_ADDENDUM_2026-10-25.md", "docs/redesign/phase-9/p9-sec-02/DISPOSITIONS.md" ], "severity": "HIGH", "acceptanceCriterion": "No bypass of Python/model/cache qualification", "requiredAction": "Retain exact installed OSV/vendor wheel/range/source/model evidence and incomplete response; refresh before affected changes/release. Current import-lock zero advisories does not close full runtime/native security.", "blockingPhase": [ "PYTHON_UNTRUSTED_PROCESSING_QUALIFICATION", "PRODUCTION", "PHASE-10: affected Python/model path" ], "responsibleParty": "Security / Python qualification owner", "deferralAuthority": "Existing P9-SEC-02 scoped CONDITIONAL PASS and Phase9 development decision; no owner residual-risk acceptance.", "classification": "CONDITIONAL_DEVELOPMENT", "status": "CONDITIONALLY_DEFERRED" }, { "id": "CI-01", "description": "Hosted MariaDB remains quarantined; current runner isolation/lifecycle is unverified and no hosted cases are qualified.", "evidence": [ "docs/redesign/phase-9/p9-sec-02/CI_ASSESSMENT.md", ".gitea/workflows/mariadb-integration.yml" ], "severity": "HIGH", "acceptanceCriterion": "Hosted provider and infrastructure isolation evidence", "requiredAction": "Provision dedicated nonproduction runner/daemon and native private service; prove merged HostConfig/egress/secret boundaries plus success/fail/cancel/crash cleanup, then reviewed enabling change and actual hosted execution. Do not bypass unconditional workflow guard.", "blockingPhase": [ "HOSTED_CI_ACCEPTANCE", "PRODUCTION", "AUTOMATION: if hosted lane required" ], "responsibleParty": "CI infrastructure operator", "deferralAuthority": "P9-SEC-02 CI-M01 allows operator-blocked hosted CI while independent local qualification continues; does not qualify controller execution.", "classification": "CONDITIONAL_DEVELOPMENT", "status": "BLOCKED" }, { "id": "MYSQL-TLS-01", "description": "MySqlConnector2.4.0 has the retained moderate GHSA-473q-m89c-ghf8 advisory; production TLS configuration was not inspected.", "evidence": [ "docs/pre-phase10-ux/DEPENDENCY_AUDIT.md" ], "severity": "MODERATE", "acceptanceCriterion": "Current dependency/reachability disposition; no accepted residual security risk", "requiredAction": "Qualify >=2.6.1 or the documented trusted-CA mitigation; verify actual affected TLS configuration and rerun MariaDB/RD21. Isolated loopback SslMode=None evidence is not production TLS acceptance.", "blockingPhase": [ "PRODUCTION_SECURITY_RELEASE" ], "responsibleParty": "Database/security release owner", "deferralAuthority": null, "classification": "PRODUCTION_ONLY", "status": "BLOCKED" }, { "id": "OPS-01", "description": "Production filesystem integrity, independent off-disk restore/rollback, deployed identity/cache/monitoring and recovery evidence remain unverified.", "evidence": [ "docs/redesign/phase-9/p9-sec-02/ACCEPTANCE_ADDENDUM_2026-10-25.md" ], "severity": "CRITICAL", "acceptanceCriterion": "Independent infrastructure, backup, recovery and release acceptance", "requiredAction": "Complete independent operator verification and release approval on authorised infrastructure; do not perform production repairs, DB operations or service/cache changes from this handoff.", "blockingPhase": [ "PRODUCTION" ], "responsibleParty": "Production operator / release owner", "deferralAuthority": null, "classification": "PRODUCTION_ONLY", "status": "BLOCKED" }, { "id": "NATIVE-SEC-01", "description": "Native parser/decoder fuzzing, whole-image review and applicable Windows memory enforcement remain outside the qualified bounded fixture evidence.", "evidence": [ "docs/pre-phase10-ux/SECURITY_REVIEW.md" ], "severity": "HIGH", "acceptanceCriterion": "Secure bounded untrusted document processing", "requiredAction": "Qualify native resource/isolation/security boundaries; retain page/file/time/child/container admission limits and privacy/retention cleanup.", "blockingPhase": [ "PRODUCTION_UNTRUSTED_DOCUMENT_PROCESSING" ], "responsibleParty": "Security / runtime owner", "deferralAuthority": null, "classification": "PRODUCTION_ONLY", "status": "BLOCKED" }, { "id": "FUTURE-01", "description": "Separate P5-13/C11, LinkedIn, Android, SQLite retirement, MariaDB upgrade, monitoring and country initiatives remain tracked future work.", "evidence": [ "ROADMAP.md" ], "severity": "INFORMATIONAL", "acceptanceCriterion": "No silent backlog loss or unrelated implementation", "requiredAction": "Retain initiative-specific entry decisions and dependencies; do not activate withheld features, remove compatibility or perform major upgrades during cleanup.", "blockingPhase": [ "SEPARATE_AUTHORISED_WORKSTREAMS" ], "responsibleParty": "Product / initiative owners", "deferralAuthority": null, "classification": "FUTURE_FEATURE", "status": "OPEN" }, { "id": "AI-CONTEXT-01", "description": "Generic strategy admission still requires legacy ProfileCvText; successful reviewed structured import alone does not establish that precondition.", "evidence": [ "AI_RESULTS.md", "JobTrackerApi/Services/StrategySnapshotService.cs", "JobTrackerApi/Controllers/ProfileCvController.Import.cs" ], "severity": "MODERATE", "acceptanceCriterion": "Do not claim canonical-only import to generic AI compatibility without exercising it", "requiredAction": "Assess canonical-only generic-AI source compatibility during Product Review. Preserve existing consent/source contracts; never silently fill legacy text from unreviewed uploads. The current successful smoke explicitly supplies separately authored fictional CV text.", "blockingPhase": [ "GENERIC_AI_FROM_CANONICAL_ONLY_PROFILE_CLAIM" ], "responsibleParty": "Product / AI integration owner", "deferralAuthority": null, "classification": "FUTURE_FEATURE", "status": "OPEN" }, { "id": "AUTO-SCOPE-01", "description": "The committed controller policy has stage entry/review approvals but no explicit protected candidate-scope checkpoint after an assessment-only Phase10 entry.", "evidence": [ "CONTRACT.md", "GATES.json", "CLEANUP_INVENTORY.md" ], "severity": "HIGH", "acceptanceCriterion": "Concrete owner-approved candidate scope before cleanup implementation", "requiredAction": "Bind a full entry approval to already-proven exact candidates, or use the controller's signed policy update to stop after assessment and require a protected candidate-specific-cleanup-scope decision before removal. Do not treat assessment-only approval or worker-written evidence as deletion authority.", "blockingPhase": [ "AUTOMATIC_PHASE-10_CLEANUP_IMPLEMENTATION" ], "responsibleParty": "Owner / AUTONOMOUS-ROADMAP-01 policy maintainer", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "BLOCKED" }, { "id": "GIT-RECOVERY-01", "description": "The originally pending caa0c6a and5032ccb publication was recovered and independently read back.", "evidence": [ "AUTHORITY.md" ], "severity": "HIGH", "acceptanceCriterion": "Clean directly verified remote baseline", "requiredAction": "Reverify exact final local/remote HEAD after publishing the finished package; normal push only. GJ-00 was independently verified without modifying/merging it.", "blockingPhase": [ "PHASE-10: final published baseline" ], "responsibleParty": "Git integration owner", "deferralAuthority": null, "classification": "MANDATORY_ENTRY", "status": "CLOSED" } ] }