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

332 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": "Owner has approved current UI/PDF appearance and requested progress toward Phase10. Protected controller signature for the exact final published baseline and bounded P10-00 scope remains pending.",
"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": "Assessment-only P10-00 may establish eligibility after protected activation; no deletion proof is required to inspect an inventory. Require exact static/dynamic/route/old-data proof, rollback and affected tests plus protected scope approval before P10-01 or any removal.",
"blockingPhase": [
"PHASE-10: each removal candidate"
],
"responsibleParty": "Development owner / reviewer",
"deferralAuthority": null,
"classification": "MANDATORY_ENTRY",
"status": "BLOCKED"
},
{
"id": "AUTO-RUNTIME-01",
"description": "Read-only current public observation confirms configured owner key, matching public certificate pin, auth file present and fresh real-key/canary PASS with matching binding. Policy remains operator-controlled and queue disabled; auth session validity not independently tested.",
"evidence": [
"CONTROLLER_ADDENDUM.md",
"READY_TO_RUN.md",
"controller-current-native-qualification-json",
"controller-current-setup-results-json",
"final-entry-controller-status",
"FINAL_DEVELOPMENT_ENTRY.md"
],
"severity": "HIGH",
"acceptanceCriterion": "Independent qualified execution boundary",
"requiredAction": "Owner checks auth-status, refreshes qualification only if expired/changed (current observation expires30October17:33UTC), and deliberately enables qualified runtime plus exact protected entry/policy approvals after adapter/scope qualification. No key recreation or extra account/VM indicated.",
"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": "Owner explicitly approved revised S01 vertical baseline metric at the same2mm limit for candidateba04d817 on30October2026. Both36-document platforms pass with all other checks retained; original28/20 failures remain historical raw evidence.",
"evidence": [
"docs/pre-phase10-ux/ACCEPTANCE.md",
"VISUAL_REVIEW.md",
"docs/p10-entry-final/REPORT.md",
"docs/p10-entry-final/S01_CLASSIFICATION.json",
"ENTRY_PROPOSAL.json",
"S01_METRIC_APPROVAL.json",
"S01_APPROVAL.md",
"s01-approved-qualification"
],
"severity": "MODERATE",
"acceptanceCriterion": "Required preview/PDF fidelity and visual spacing qualification",
"requiredAction": "Metric-only disposition complete. Human visual/print acceptance and independent protected entry/scope/runtime decisions remain pending; do not infer any other approval.",
"blockingPhase": [
"PHASE-10: document/rendering scope or required PDF gate",
"PRODUCTION"
],
"responsibleParty": "Document QA owner / owner acceptance authority",
"deferralAuthority": null,
"classification": "MANDATORY_ENTRY",
"status": "CLOSED"
},
{
"id": "HUMAN-01",
"description": "Owner personally approved current UI/CV/PDF visual presentation for development. Physical printing, physical-device/AT/contrast and proficient language/workflow tests retain actual unfinished status; aggregate human acceptance is not passed.",
"evidence": [
"MANUAL_ACCEPTANCE.md",
"PDF_VISUAL_APPROVAL.json",
"FINAL_DEVELOPMENT_ENTRY.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"
}
]
}