- 04 Jun, 2026 30 commits
-
-
Constraint: The README remained a reading-first surface while the handoff had already converged on a faster validated startup command, so the docs entrypoint needed to match the actual recovery workflow. Rejected: Keep the shortest path only in session-handoff | That would still force many sessions to open the wrong document first. Confidence: high Scope-risk: narrow Directive: Treat docs/README.md and docs/session-handoff.md as aligned startup surfaces; keep the runner command identical in both places. Tested: git diff --check; /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --output data/pgvector_eval/music20/planner_validation_commands_runner_report.json Not-tested: This commit reshapes documentation only; it does not change worker behavior.
cnb.bofCdSsphPA authored -
Constraint: The session handoff had become information-rich enough that the next session still needed manual triage, so the opening section had to be collapsed to one verified command path. Rejected: Keep the handoff primarily as a reading list | That would preserve context but not minimize restart latency. Confidence: high Scope-risk: narrow Directive: Start future sessions with the planner validation runner before reading deeper docs unless the task explicitly skips validation. Tested: git diff --check; verified docs/session-handoff.md now points to scripts/run_planner_validation_commands_live.py backed by fresh data/pgvector_eval/music20/planner_validation_commands_runner_report.json evidence (executed_count=4, all_passed=true) Not-tested: No new code-path execution was needed in this commit because it reorganizes the already-verified startup flow.
cnb.bofCdSsphPA authored -
Constraint: The planner artifact had become executable, but future sessions still needed a reusable entrypoint instead of ad-hoc inline Python to consume it. Rejected: Keep the execution proof as one-off shell snippets | That would not give the next session a durable command surface. Confidence: high Scope-risk: narrow Directive: Use run_planner_validation_commands_live.py as the default preflight gate before attempting new Phase-1 worker changes on a host. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/run_planner_validation_commands_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/run_planner_validation_commands_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --output data/pgvector_eval/music20/planner_validation_commands_runner_report.json Not-tested: The runner only validates planner entrypoints; it does not unlock successful extraction on an environment-blocked host.
cnb.bofCdSsphPA authored -
Constraint: Partial execution proof for planner validation commands still left room for manual reconstruction risk, so the remaining entrypoints had to be exercised too. Rejected: Stop after two executed planner commands | It would leave the negative matrix and asset-upsert entrypoints unproven. Confidence: high Scope-risk: narrow Directive: Treat phase1_validation_commands_execution_report.json as the authoritative proof that the planner artifact is executable end-to-end. Tested: git diff --check; /usr/local/miniconda3/bin/python - <<'PY' ... execute validation_commands.semantic_vector_negative_matrix and validation_commands.asset_level_upsert_validation from data/pgvector_eval/music20/phase1_extraction_plan_report.json ... PY Not-tested: Individual extraction jobs still remain environment-blocked; this commit proves validation entrypoints, not successful feature extraction.
cnb.bofCdSsphPA authored -
Constraint: Adding validation_commands to the planner was only useful if the emitted commands could be consumed directly, so the plan artifact needed one more layer of execution proof. Rejected: Assume command strings are correct because they look valid | That would leave restart automation unproven. Confidence: high Scope-risk: narrow Directive: Prefer executing validation_commands from the planner artifact instead of retyping equivalent checks by hand. Tested: git diff --check; /usr/local/miniconda3/bin/python - <<'PY' ... execute validation_commands.prereq_audit and validation_commands.worker_contract_smoke from data/pgvector_eval/music20/phase1_extraction_plan_report.json ... PY Not-tested: The remaining planner validation commands were not executed in this commit, though their sibling commands proved the artifact is directly consumable.
cnb.bofCdSsphPA authored -
Constraint: The repo now has multiple verified smoke and audit scripts, so leaving them outside the planner would force future sessions to rediscover the right validation commands by reading docs. Rejected: Document the commands only in markdown | That would drift from the executable plan artifact and slow restart execution. Confidence: high Scope-risk: narrow Directive: Treat validation_commands in the planner as the first-stop entrypoints before running individual extraction jobs on a new host. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/plan_phase1_extraction_jobs_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/plan_phase1_extraction_jobs_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --job-status pending --output data/pgvector_eval/music20/phase1_extraction_plan_report.json Not-tested: The planner still emits commands for an environment-blocked host and does not prove successful extraction by itself.
cnb.bofCdSsphPA authored -
Constraint: Worker-contract validation is now stable enough that the remaining uncertainty is host readiness, so the next blocker had to be made explicit instead of inferred from repeated failed runs. Rejected: Keep prerequisite knowledge only in prose | It would drift and force future sessions to rediscover the same missing mounts and packages. Confidence: high Scope-risk: narrow Directive: Run the prerequisite audit before retrying live extraction so host blockers are measured once and reused across lanes. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/run_phase1_prereq_audit_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/run_phase1_prereq_audit_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_prereq_audit_report.json Not-tested: This audit does not install dependencies or mount assets; it only reports readiness.
cnb.bofCdSsphPA authored -
Create Dockerfile.cnb based on the optimized Dockerfile with code-server v4.123.0 + 10 VS Code extensions (golang, cnb-welcome, code-runner, kubernetes, coding-copilot, github-theme, zh-hans-langpack, vscode-icons, indent-rainbow, markdown-all-in-one). Constraint: extensions install as user to ~/.local, then switch back to root Confidence: high Scope-risk: narrow Tested: docker build succeeded, all 10 extensions installed OK
cnb.bofCdSsphPA authored -
Constraint: Phase-1 semantic jobs were already blocked by missing audio and model runtimes, so vector-table regressions needed their own isolated live proof to avoid being masked by the same environment failures. Rejected: Infer vector-table coverage from code inspection only | It would not prove the worker writes the correct blocker reasons into PostgreSQL metadata. Confidence: high Scope-risk: narrow Directive: When semantic extraction fails, inspect vector_table_report.reason before assuming the host is only missing mounts or model dependencies. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/run_embedding_vector_table_negative_matrix_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/run_embedding_vector_table_negative_matrix_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --output data/pgvector_eval/music20/embedding_vector_table_negative_matrix_report.json Not-tested: No successful semantic extraction path exists yet on this host; this commit validates negative preflight cases only.
cnb.bofCdSsphPA authored -
Constraint: Phase-1 now has multiple lane-specific validation scripts, so without a single smoke entrypoint the next session must manually reconstruct the current blocker picture. Rejected: Keep exact and semantic checks separate only | It would slow restart diagnosis and hide the shared environment blockers. Confidence: high Scope-risk: narrow Directive: Use the smoke entrypoint first on future sessions to distinguish contract regressions from missing mounts/runtime prerequisites. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/run_phase1_worker_contract_smoke_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/run_phase1_worker_contract_smoke_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_worker_contract_smoke_report.json Not-tested: This smoke still reflects an environment-blocked host and does not prove successful extraction.
cnb.bofCdSsphPA authored -
Constraint: The schema already declared asset-level idempotency, but without live evidence future work could mistake it for an unverified design note. Rejected: Rely on DDL inspection alone | It would not prove duplicate inserts are blocked and upserts reuse the same embedding row. Confidence: high Scope-risk: narrow Directive: Keep asset-level writer implementations aligned with the verified ON CONFLICT (feature_set_id, asset_id) WHERE window_id IS NULL contract. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/validate_audio_embedding_asset_upsert_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/validate_audio_embedding_asset_upsert_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_asset_upsert_test --output data/pgvector_eval/music20/audio_embedding_asset_upsert_live_report.json Not-tested: No production semantic writer uses the asset-level contract yet; this commit validates the DB contract, not an end-to-end extractor.
cnb.bofCdSsphPA authored -
Constraint: The current container still lacks mounted source audio and the semantic model runtimes, so repeated manual spot-checks are noisy and wasteful. Rejected: Ad-hoc one-job validation only | It would not show whether failures are contract-wide or model-specific. Confidence: high Scope-risk: narrow Directive: Re-run the matrix before claiming any semantic worker progress so blocker drift across MERT/MuQ/ECAPA is visible. Tested: /usr/local/miniconda3/bin/python -m py_compile scripts/run_phase1_embedding_preflight_matrix_live.py; git diff --check; /usr/local/miniconda3/bin/python scripts/run_phase1_embedding_preflight_matrix_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_embedding_preflight_matrix_report.json Not-tested: This matrix still cannot prove successful semantic inference until assets and runtime dependencies are available.
cnb.bofCdSsphPA authored -
Constraint: Current container lacks /workspace/downloads and torch/torchaudio/transformers, so Phase-1 semantic work must prove honest failure semantics instead of pretending inference succeeded. Rejected: Stub semantic embeddings | Would blur the contract between real model outputs and repo-local placeholders. Confidence: high Scope-risk: narrow Directive: Keep the preflight blockers explicit until real MERT/MuQ/ECAPA adapters and asset-level embedding tests exist. Tested: /usr/local/miniconda3/bin/python -m py_compile workers/run_embedding_job.py workers/run_chromaprint_job.py workers/_job_common.py scripts/bootstrap_phase1_extraction_jobs_live.py scripts/plan_phase1_extraction_jobs_live.py scripts/bootstrap_phase1_reference_members_live.py scripts/live_pgvector_music20_eval.py; git diff --check; /usr/local/miniconda3/bin/python scripts/bootstrap_phase1_extraction_jobs_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test; /usr/local/miniconda3/bin/python workers/run_embedding_job.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --job-id 2 --model-name mert --model-version v1-95m --vector-table audio_embedding_vector_768 --output data/pgvector_eval/music20/phase1_worker_embedding_write_attempt.json Not-tested: Real encoder inference and asset-level embedding upsert path remain unavailable in this container.
cnb.bofCdSsphPA authored -
Remove code-server, build-essential, gcc, libc6-dev, pkg-config, libssl-dev from final stage. Add conda clean post-install in builder. Strip unnecessary opencode platform binaries (musl/baseline variants) post-npm-install. Remove redundant COPY layers for opencode (already covered by full node directory copy). Keep opencode.exe entry point (Node.js bootstrap). Constraint: buildkit crashes with 'frontend grpc server closed unexpectedly' on this host; legacy builder used Confidence: high Scope-risk: narrow Directive: opencode.exe is the Node.js bootstrapper, not a Windows binary; do not delete Tested: docker run --rm verified node/npm/bun/python/hx/claude/opencode/nvim all work
cnb.bofCdSsphPA authored -
Constraint: the Phase-1 exact lane must not pretend success when reference audio is unreadable, and repeated writes must be idempotent at the database boundary. Rejected: keep partial-success writes in completed state | rejected because it would blur asset-readability failures and weaken auditability. Confidence: high Scope-risk: moderate Directive: preserve the repo-local chromaprint-style wording and the all-or-nothing failure semantics until production audio mounts and real extractor validation are in place. Tested: py_compile for chromaprint matcher and chromaprint worker; live PostgreSQL unique index creation on acr_test; non-dry-run chromaprint worker attempt with job_status=failed and failure_reason=unreadable_audio_assets; bootstrap reset back to pending; architect review APPROVED. Not-tested: successful audio_fingerprint writes against mounted production audio, semantic worker real writes, large-scale concurrent exact-lane execution.
cnb.bofCdSsphPA authored -
Constraint: planner outputs must be copy-runnable in the current environment and live PostgreSQL entrypoints must treat schema input as untrusted. Rejected: defer state guards until real inference arrives | rejected because repeat execution and empty-scope drift would corrupt Phase-1 evidence now. Confidence: high Scope-risk: moderate Directive: keep using the guarded job contract (expected status, schema validation, explicit python path) when replacing dry-run with real writes. Tested: py_compile for live bootstrap/planner/worker scripts; live PostgreSQL bootstrap for model registry, reference members, and extraction jobs; regenerated extraction plan report; chromaprint + mert dry-run worker runs with scope=20; double-claim guard report returns non-zero; architect review APPROVED. Not-tested: real fingerprint writes, real embedding writes, large-scale production reference-set ingestion beyond the 20-song acr_test sample.
cnb.bofCdSsphPA authored -
Constraint: Phase-1 must stay encoder-only and use PostgreSQL as the orchestration/state plane before real extractor inference lands. Rejected: implement real MERT/MuQ inference first | rejected because planner/job/state contracts were not yet executable or verified end-to-end. Confidence: high Scope-risk: moderate Directive: preserve the worker job contract and replace dry-run incrementally with real fingerprint/embedding writes. Tested: py_compile for new workers and planner; live PostgreSQL dry-run for chromaprint job 1 and mert job 2; planner report regeneration; bootstrap restore to pending; git diff --check. Not-tested: real chromaprint extraction, real MERT/MuQ/ECAPA embedding writes, failed-job retry handling.
cnb.bofCdSsphPA authored -
Constraint: The Phase-1 PostgreSQL plan needed to become immediately actionable without pretending the workers already exist Rejected: Keep the plan as ordering-only metadata | It still leaves the next session to reconstruct command wiring by hand Confidence: high Scope-risk: narrow Directive: Keep future worker implementations compatible with the env-var contract emitted by the planner report Tested: /usr/local/miniconda3/bin/python scripts/plan_phase1_extraction_jobs_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --job-status pending --output data/pgvector_eval/music20/phase1_extraction_plan_report.json; /usr/local/miniconda3/bin/python -m py_compile scripts/plan_phase1_extraction_jobs_live.py; git diff --check -- acr-engine/scripts/plan_phase1_extraction_jobs_live.py acr-engine/data/pgvector_eval/music20/phase1_extraction_plan_report.json docs/model-feature-registry-bootstrap.md docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md Not-tested: Real worker binaries at workers/run_chromaprint_job.py and workers/run_embedding_job.py do not exist yet
cnb.bofCdSsphPA authored -
Constraint: Ralph must keep turning PostgreSQL state into concrete next-step artifacts rather than leaving implied manual steps Rejected: Stop at creating pending jobs only | It still leaves future sessions to infer ordering and physical targets by hand Confidence: high Scope-risk: narrow Directive: Treat the planner report as the canonical bridge between pending jobs and real extraction workers Tested: /usr/local/miniconda3/bin/python scripts/plan_phase1_extraction_jobs_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --job-status pending --output data/pgvector_eval/music20/phase1_extraction_plan_report.json; /usr/local/miniconda3/bin/python -m py_compile scripts/plan_phase1_extraction_jobs_live.py; git diff --check -- acr-engine/scripts/plan_phase1_extraction_jobs_live.py acr-engine/data/pgvector_eval/music20/phase1_extraction_plan_report.json docs/model-feature-registry-bootstrap.md docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md Not-tested: Actual worker that consumes the plan to run MERT/MuQ/Chromaprint extraction end-to-end
cnb.bofCdSsphPA authored -
Constraint: Continue Phase-1 industrialization without waiting on missing audio mounts, and keep every Ralph step documented and pushed Rejected: Leave extraction scheduling as an implicit next step after registry bootstrap | It forces future sessions to reconstruct pending jobs by hand Confidence: high Scope-risk: narrow Directive: Use feature_extraction_job as the canonical handoff between registry bootstrap and actual encoder extraction runs Tested: /usr/local/miniconda3/bin/python scripts/bootstrap_phase1_extraction_jobs_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_extraction_jobs_report.json; /usr/local/miniconda3/bin/python -m py_compile scripts/bootstrap_phase1_extraction_jobs_live.py; git diff --check -- acr-engine/scripts/bootstrap_phase1_extraction_jobs_live.py acr-engine/data/pgvector_eval/music20/phase1_extraction_jobs_report.json docs/model-feature-registry-bootstrap.md docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md Not-tested: Downstream worker that consumes these pending jobs to run real MERT/MuQ extraction
cnb.bofCdSsphPA authored -
Constraint: Ralph follow-up work must keep producing audit-ready evidence and a pushed trail for the next session Rejected: Assume the new bootstrap script is safe to rerun without proof | Duplicate feature-set inserts would erode trust in the PostgreSQL bootstrap path Confidence: high Scope-risk: narrow Directive: Re-run registry bootstrap in-place before future extraction jobs and treat count drift as a regression signal Tested: /usr/local/miniconda3/bin/python scripts/bootstrap_phase1_model_registry_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_registry_bootstrap_report.json (run twice); /usr/local/miniconda3/bin/python -m py_compile scripts/bootstrap_phase1_model_registry_live.py; git diff --check -- acr-engine/scripts/bootstrap_phase1_model_registry_live.py acr-engine/data/pgvector_eval/music20/phase1_registry_bootstrap_report.json acr-engine/data/pgvector_eval/music20/phase1_registry_bootstrap_idempotency_report.json docs/model-feature-registry-bootstrap.md docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md Not-tested: Actual downstream MERT/MuQ extraction after bootstrap, missing business sample mount recovery
cnb.bofCdSsphPA authored -
Constraint: Continue the Ralph loop without waiting on missing business sample mounts, while still leaving a push-ready implementation and documentation trail Rejected: Keep Phase-1 registry setup as static SQL snippets only | It slows live validation and leaves no machine-checkable bootstrap path Confidence: high Scope-risk: narrow Directive: Treat model_registry/feature_set_registry/reference_set_registry as the mandatory entrypoint before any future MERT/MuQ extraction jobs Tested: /usr/local/miniconda3/bin/python scripts/bootstrap_phase1_model_registry_live.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --output data/pgvector_eval/music20/phase1_registry_bootstrap_report.json; /usr/local/miniconda3/bin/python -m py_compile scripts/bootstrap_phase1_model_registry_live.py; git diff --check -- acr-engine/scripts/bootstrap_phase1_model_registry_live.py acr-engine/data/pgvector_eval/music20/phase1_registry_bootstrap_report.json docs/model-feature-registry-bootstrap.md docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md Not-tested: Actual MERT/MuQ embedding extraction, hard-case type_8/type_16 live queries, multi-recording/cover-lane retrieval
cnb.bofCdSsphPA authored -
Constraint: Each Ralph follow-up change must leave a documented, pushed trail for the next session Rejected: Keep the missing /workspace/downloads discovery only in transient shell output | It would be rediscovered and waste the next session Confidence: high Scope-risk: narrow Directive: Treat hard-case live evaluation as environment-dependent until business sample mounts are restored Tested: git diff --check -- docs/postgres_db_schema_samples.md docs/session-handoff.md docs/CHANGELOG.md; ls -ld /workspace/downloads => no such file or directory Not-tested: Restoring or remounting the missing business sample directory
cnb.bofCdSsphPA authored -
Constraint: Each follow-up Ralph edit must update docs and preserve a push-ready, auditable validation trail Rejected: Stop at a single audio_window negative test | It left recording/audio_embedding trigger coverage and report readability weaker than needed Confidence: high Scope-risk: narrow Directive: Keep live retrieval reports self-explanatory enough for reviewers who only inspect JSON artifacts Tested: /usr/local/miniconda3/bin/python scripts/live_pgvector_music20_eval.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --reset-schema --output data/pgvector_eval/music20/live_pgvector_report.json; /usr/local/miniconda3/bin/python -m py_compile scripts/live_pgvector_music20_eval.py; git diff --check -- acr-engine/scripts/live_pgvector_music20_eval.py acr-engine/data/pgvector_eval/music20/live_pgvector_report.json docs/postgres_db_schema_samples.md docs/CHANGELOG.md docs/session-handoff.md Not-tested: type_8/type_16 live JSONL coverage, MERT/MuQ live embeddings, multi-recording/cover-lane decision flow
cnb.bofCdSsphPA authored -
Constraint: The new data model had to be proven against the user-provided PostgreSQL instance and stay aligned with Phase-1 encoder-only decisions Rejected: Document-only schema guidance without a live database run | It would leave retrieval correctness and table intent unproven Confidence: high Scope-risk: narrow Directive: Keep future retrieval experiments writing through model/feature/reference registries instead of adding fixed per-model columns Tested: /usr/local/miniconda3/bin/python scripts/live_pgvector_music20_eval.py --dsn 'postgres://d2:d2pass@127.0.0.1:5432/d2' --schema acr_test --reset-schema --output data/pgvector_eval/music20/live_pgvector_report.json; /usr/local/miniconda3/bin/python scripts/evaluate_songid_pgvector_path.py --reference-embeddings-jsonl data/pgvector_eval/music20/reference_embeddings.jsonl --query-embeddings-jsonl data/pgvector_eval/music20/query_embeddings.jsonl --output data/pgvector_eval/music20/songid_eval_report_fresh.json; /usr/local/miniconda3/bin/python -m py_compile scripts/live_pgvector_music20_eval.py scripts/evaluate_songid_pgvector_path.py; git diff --check -- docs/README.md docs/CHANGELOG.md docs/postgres_db_schema_samples.md acr-engine/scripts/live_pgvector_music20_eval.py acr-engine/data/pgvector_eval/music20/live_pgvector_report.json acr-engine/data/pgvector_eval/music20/songid_eval_report_fresh.json Not-tested: MERT/MuQ live embeddings, type_8/type_16 live JSONL coverage, multi-recording/cover-lane decision flow
cnb.bofCdSsphPA authored -
cnb.bofCdSsphPA authored
-
Constraint: The startup handoff must reflect the new Phase-1 encoder-only and PostgreSQL v2 decisions without carrying stale timeline noise Rejected: Keep appending runtime logs to session-handoff.md | It obscures the current start point for the next session Confidence: high Scope-risk: narrow Directive: Keep session-handoff.md focused on where to resume next, and move detailed chronology into changelog/history docs Tested: git diff --check -- docs/session-handoff.md docs/CHANGELOG.md Not-tested: No link checker or markdown linter was run
cnb.bofCdSsphPA authored -
Constraint: The architecture and schema docs were already in place, but teams still lacked a concrete implementation checklist and registry bootstrap contract for encoder-only rollout Rejected: leaving execution guidance implicit in architecture prose | would slow Phase-1 delivery and cause inconsistent model/feature initialization Confidence: high Scope-risk: narrow Directive: treat Phase-1 implementation sequencing and model/feature/reference-set bootstrap as first-class docs that evolve with the schema Tested: git diff --check on changed docs; Python document sanity check; README/CHANGELOG link coverage verified with rg Not-tested: no runtime behavior changed; no database apply executed
cnb.bofCdSsphPA authored -
Constraint: The documentation refactor was already pushed and only needed a formatting-only hygiene follow-up Rejected: leaving known markdown whitespace debt in the freshly introduced guide | would add avoidable noise to future reviews Confidence: high Scope-risk: narrow Directive: keep the new role-oriented architecture docs diff-clean so future schema/model edits stay reviewable Tested: git diff --check on docs/acr-architecture.md Not-tested: content semantics unchanged; no runtime effects
cnb.bofCdSsphPA authored -
Constraint: Phase-1 must support encoder-only open-source backbones without destabilizing future schema evolution Rejected: extending the old flat song_id + fixed-vector schema | would couple model swaps to schema rewrites and weaken copyright lineage Confidence: high Scope-risk: moderate Directive: treat canonical_song/work/recording/recording_asset/audio_window plus model/feature registries as the stable contract; evolve models and indexes around them Tested: git diff --check on changed files; Python content/structure sanity check; architect review APPROVED; README link coverage and DDL object presence verified Not-tested: live PostgreSQL apply not run because psql is unavailable in this environment
cnb.bofCdSsphPA authored
-
- 03 Jun, 2026 10 commits
-
-
Constraint: we need a song-level evaluation path that matches the future pgvector production shape before moving off the local FAISS proving lane Rejected: jumping straight to a live pgvector-only implementation | we still need a reproducible repo-local evaluation harness and artifact trail first Confidence: high Scope-risk: moderate Directive: keep future pgvector work song_id-first and measure each query type separately before aggregating product claims Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /usr/local/miniconda3/bin/python acr-engine/scripts/export_workspace_music20_embeddings_jsonl.py --downloads-dir /workspace/downloads --song-limit 20 --out-dir acr-engine/data/pgvector_eval/music20; /usr/local/miniconda3/bin/python acr-engine/scripts/evaluate_songid_pgvector_path.py --reference-embeddings-jsonl acr-engine/data/pgvector_eval/music20/reference_embeddings.jsonl --query-embeddings-jsonl acr-engine/data/pgvector_eval/music20/query_embeddings.jsonl --output acr-engine/data/pgvector_eval/music20/songid_eval_report.json Not-tested: live PostgreSQL/pgvector online retrieval path
cnb.bofCdSsphPA authored -
Constraint: we need a complete hard-query picture before claiming the workspace_music20 voice lane is usable or deciding where pgvector work should start Rejected: extrapolating from type_7 alone | the type_8 and type_16 lanes can fail differently and need their own measured baselines Confidence: high Scope-risk: narrow Directive: keep all future business-corpus voice evaluations split by query type so we can see exactly which hard lanes fail and why Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; generated voice_workspace20_type8_eval.json (top1=0.0, top3=0.0) and voice_workspace20_type16_eval.json (top1=0.0, top3=0.0) Not-tested: improved business-corpus voice correctness after moving to embedding/pgvector retrieval
cnb.bofCdSsphPA authored -
Constraint: the repo needs to distinguish runtime success from business-level song_id correctness before any production claim Rejected: treating the workspace_music20 smoke as good enough | the current type_7 batch result is top1=0.0 and top3=0.05, which is far below a usable threshold Confidence: high Scope-risk: narrow Directive: keep all future business-corpus voice evaluations written to local_eval artifacts and mirrored into changelog/checklist/handoff before push Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; generated acr-engine/data/local_eval/voice_workspace20_type7_eval.json with num_queries=20, top1=0.0, top3=0.05 Not-tested: improved business-corpus correctness after further retrieval tuning
cnb.bofCdSsphPA authored -
Constraint: external voice uploads now need a business-sample-backed path before any pgvector production cutover, while still staying lightweight enough for CPU smoke tests Rejected: waiting for full pgvector service integration before proving a business-corpus path | would leave the external voice interface unvalidated against real sample references Confidence: medium Scope-risk: moderate Directive: treat workspace_music20 as a proving lane only; validate business top1 correctness before promoting its defaults or claiming production readiness Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /usr/local/miniconda3/bin/python acr-engine/scripts/service_voice_smoke.py -> status ok, corpus=workspace_music20, chunk_count=1, top_song_id=109, has_context=true Not-tested: pgvector-backed /recognize/voice production retrieval path
cnb.bofCdSsphPA authored -
Constraint: the voice service must return a payload under the current CPU environment before we can iterate on business-corpus correctness Rejected: keeping the previous multi-chunk defaults | they caused smoke-timeout regressions and blocked basic endpoint validation Confidence: high Scope-risk: moderate Directive: treat the current result as transport/runtime proof only until the service is switched from synthetic defaults to the /workspace business reference corpus Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /usr/local/miniconda3/bin/python acr-engine/scripts/service_voice_smoke.py -> status ok, chunk_count=1, top_song_id=song_0022, has_context=false Not-tested: business-corpus song_id correctness for /recognize/voice under /workspace reference data
cnb.bofCdSsphPA authored -
Constraint: every documented progress step in this lane must update changelog, checklist, and handoff together before pushing Rejected: leaving the handoff refresh isolated | it would break the repo's own continuity ritual and make the next session diff harder to trust Confidence: high Scope-risk: narrow Directive: when the voice service state changes, mirror it across changelog, checklist, and handoff in the same push Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v Not-tested: successful end-to-end /recognize/voice payload within timeout
cnb.bofCdSsphPA authored -
Constraint: the handoff must reflect the real runtime state: health endpoints work, CPU torch is installed, but end-to-end voice smoke still times out Rejected: keeping the older dependency-missing note | it no longer matches the current environment and would mislead the next session Confidence: high Scope-risk: narrow Directive: keep handoff notes focused on the shortest next debugging path for /recognize/voice timeout reduction Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /health endpoint returns ok under uvicorn with CPU torch installed Not-tested: successful end-to-end /recognize/voice payload within timeout
cnb.bofCdSsphPA authored -
Constraint: the docs must reflect the real runtime state after installing CPU torch: health is up, but end-to-end voice recognition still times out Rejected: declaring the voice API complete | the current smoke still does not return a final recognition payload within the timeout window Confidence: medium Scope-risk: narrow Directive: keep status docs synchronized with actual smoke results, especially partial readiness states Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /health endpoint returns ok under uvicorn; direct /recognize/voice smoke currently times out after CPU torch install Not-tested: successful end-to-end /recognize/voice result payload within timeout
cnb.bofCdSsphPA authored -
Constraint: the checklist should reflect the real current state: health endpoint is up, but full voice inference remains blocked by missing torch Rejected: marking service smoke fully passed | /recognize/voice still cannot execute end-to-end inference in this environment Confidence: high Scope-risk: narrow Directive: keep the release checklist brutally explicit about partial vs full service readiness Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /health endpoint reachable under uvicorn Not-tested: successful /recognize/voice inference until torch is installed
cnb.bofCdSsphPA authored -
Constraint: the handoff should reflect the current FAISS-first local workflow and the partially wired voice service without claiming end-to-end inference is ready Rejected: waiting for full torch-backed service completion before documenting progress | would hide the current repo state and block clean session handoff Confidence: high Scope-risk: narrow Directive: keep future handoff updates focused on what is runnable now, what is blocked, and the next shortest path to unblock it Tested: /usr/local/miniconda3/bin/python -m unittest discover -s acr-engine/tests -v; /usr/local/miniconda3/bin/python -m uvicorn src.service.app:app --host 127.0.0.1 --port 8000 with successful /health response Not-tested: successful /recognize/voice inference until torch is installed
cnb.bofCdSsphPA authored
-