Files
jobtrackingapp/docs/automation/handoffs/pre-phase10/BLOCKERS.json
T

322 lines
17 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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"
}
]
}