322 lines
17 KiB
JSON
322 lines
17 KiB
JSON
{
|
||
"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"
|
||
}
|
||
]
|
||
}
|