Python Port Verification Matrix
Updated: 2026-07-01
This matrix tracks evidence for the full active goal. Empty or weak evidence means the goal remains active.
| Requirement | Implementation evidence | Test/live evidence | Remaining risk |
|---|---|---|---|
| Fresh Python codebase | pyproject.toml, src/codealmanac/, tests/ |
uv run pytest, uv run ruff check . passed on 2026-06-30 |
Remaining risk is continued product review, not a missing spine. |
| Based on live agreement | docs/python-port-live-agreement.md, src/codealmanac/app.py, service/workflow packages |
tests exercise CLI -> app -> services/workflows over configurable local roots, defaulting to almanac/ |
Need future architecture tests as more services appear. |
| Cosmic Python actively considered | docs/reference/cosmic-python/, docs/python-port/, composition root, service-layer tests, store boundary, Git snapshot policy for lifecycle writes |
tests call workflow/service and CLI surfaces instead of private helpers; Relayforge Discord checkpoints sent | Need continued review before public lifecycle CLI. |
CLI exists as codealmanac only |
[project.scripts] codealmanac = "codealmanac.cli.main:main" plus argparse commands |
uv run codealmanac --help, live init, build, ingest, garden, foreground sync, sync status, list, search, show, topics create/describe/link/unlink/rename/delete, reindex, doctor, serve, automation status, update --check, non-editable pip/uv-tool update dogfood, final wheel/sdist installed CLI smoke on 2026-06-30, and current-head wheel/sdist installed CLI smoke in slice 138 |
Scheduled update automation remains intentionally deferred pending notifier/check cadence, dismissal, and release-channel policy. |
| SQLite-backed wiki/index behavior | services/index, services/wiki, services/search, services/pages |
parser/index/search/show tests, stale-schema regression, stale-aware refresh regression, isolated live smoke, dogfood search | refresh still parses source markdown to compute signatures; optimize only after real large-repo pressure. |
| Workflows: build, ingest, sync, garden | workflows/build; workflows/ingest; workflows/garden; workflows/sync; services/runs; services/sources; services/harnesses; LifecycleMutationPolicy; public codealmanac ingest, codealmanac garden, foreground codealmanac sync, and read-only codealmanac sync status |
build tests; runs service/jobs CLI tests; sources service tests; transcript discovery tests; source-resolution dogfood; harness service tests; sync status and foreground sync tests; ingest/garden workflow safety tests; harness failure-log tests; harness transcript feedback tests; rich harness event persistence tests; sync internal-exclusion tests; sync pending-claim tests; run lifecycle state tests; pending run-linkage tests; retry-budget tests; real Claude and Codex CLI ingest dogfood; real Codex Garden dogfood; synthetic transcript sync dogfood; real Codex-transcript-to-Claude-ingest sync dogfood; retry-budget CLI dogfood; failed-harness jobs logs dogfood; slice 70 real source-shape ingest dogfood; slice 82 structured jobs logs --json temp-wiki dogfood; slice 83 fake app-server protocol tests and dogfood; slice 84 fake Claude SDK stream tests; slice 136 real Codex app-server dogfood; slice 137 real Claude SDK dogfood |
Workflow MVP is covered; remaining risk is prompt quality and larger real-repo behavior, not missing live-provider proof for the default rich harnesses. |
| Integrations behind service ports | ownership map drafted; filesystem, Git, GitHub, transcript, and web runtime adapters implement SourceRuntimeAdapter; transcript discovery adapters implement TranscriptDiscoveryAdapter; Claude SDK and Codex app-server implement HarnessAdapter; Git workspace change probe implements WorkspaceChangeProbe; architecture tests guard import direction, Claude SDK event-mapper boundaries, Codex app-server event boundaries, and Codex app-server client/policy boundaries |
sources, source runtime, transcript discovery, harness, Claude/Codex adapter, Git probe, ingest safety, sync status, sync run, filesystem diversity tests, and architecture tests; real Claude and Codex ingest dogfood; fake Codex app-server protocol tests; fake Claude SDK stream tests; real filesystem/Git/GitHub/transcript/web runtime dogfood; source-runtime diversity dogfood; slice 70 non-toy source-shape dogfood; slice 85 focused Claude architecture tests; slice 100 and 101 focused Codex architecture tests; slice 136 real Codex app-server dogfood; slice 137 real Claude SDK dogfood | Source runtime and default harness integration MVPs are covered; remaining risk is provider protocol drift and more real-project dogfood, not an unproven transport shape. |
| Prompts/manual surfaces | src/codealmanac/prompts/ package resources, PromptRenderer, src/codealmanac/manual/ package resources, <almanac-root>/manual/ build materialization, and doctor manual checks |
prompt/manual tests; build and diagnostics tests; ingest and garden workflow prompt assertions; wheel inspection confirmed prompt and manual Markdown packaged; isolated live build/doctor dogfood passed; slice 70 source-runtime page passed health and manual review | Prompt and manual quality should keep improving through dogfood, but public-beta evidence is now sufficient. |
| Tests and live verification | pytest/ruff configured in pyproject.toml |
uv run pytest, uv run ruff check ., uv run codealmanac --help, live temp init/list/search/show, dogfood search, dogfood serve API, viewer renderer token-safety tests, browser-harness desktop/mobile serve verification, slice 71 wheel/sdist installed CLI smoke, and slice 138 current-head wheel/sdist installed CLI smoke |
Keep using browser-harness for future visual changes. |
| Frequent review | slice-1 review fix hardened registry temp writes and typed selector helpers | uv run pytest, uv run ruff check ., live temp init/list passed after review fix |
Need the same checkpoint discipline after each meaningful slice. |
| No hosted CLI/MCP/SDK/aliases | live agreement records exclusion; tests/test_public_contract.py guards entry points, forbidden commands, package module names, README, release guide, GitHub automation/templates, package metadata, next-agent freshness, beta-audit coverage, and ~/.codealmanac/ user-state defaults |
uv run pytest tests/test_public_contract.py passed with 26 tests on 2026-07-01; full uv run pytest and uv run ruff check . passed on 2026-07-01 |
Future CLI, docs, or project automation expansion must keep the public-contract guard current. |
Gates For Slice 126 CLI Admin Parser Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused parser, CLI, and public-contract tests | uv run pytest tests/test_public_contract.py tests/test_cli.py tests/test_architecture.py::test_cli_parser_is_split_by_command_domain tests/test_architecture.py::test_cli_admin_parser_stays_split_by_command_family tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages -q |
66 passed |
| Focused lint | uv run ruff check src/codealmanac/cli/parser tests/test_cli.py tests/test_public_contract.py tests/test_architecture.py |
passed |
| Public help dogfood | codealmanac setup/uninstall/doctor/update/jobs/jobs show/automation/automation install/automation status --help |
passed; moved admin parser families exposed expected flags/subcommands |
| Full tests | uv run pytest |
345 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 125 CLI Lifecycle Dispatch Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI, lifecycle workflow, and architecture tests | uv run pytest tests/test_cli.py tests/test_sync_workflow.py tests/test_ingest_workflow.py tests/test_garden_workflow.py tests/test_run_queue_workflow.py tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_lifecycle_dispatch_stays_split_by_command_family tests/test_architecture.py::test_cli_dispatch_files_stay_small -q |
81 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_sync_workflow.py tests/test_ingest_workflow.py tests/test_garden_workflow.py tests/test_run_queue_workflow.py tests/test_architecture.py |
passed |
| Isolated lifecycle CLI dogfood | temp HOME; temp repo; init; authored page; build; sync status --json; sync --background --json with no eligible transcripts; hidden __run-worker against empty queue |
passed; public non-AI lifecycle dispatch paths worked through the CLI |
| Full tests | uv run pytest |
344 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 124 CLI Admin Dispatch Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI, automation, setup, and architecture tests | uv run pytest tests/test_cli.py tests/test_automation_service.py tests/test_setup_service.py tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_admin_dispatch_stays_split_by_command_family tests/test_architecture.py::test_cli_dispatch_files_stay_small -q |
56 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_automation_service.py tests/test_setup_service.py tests/test_architecture.py |
passed |
| Isolated admin CLI dogfood | temp HOME; temp repo; init; service-created run event; doctor --json; automation status --json; setup --json; uninstall --json; update --check --json; jobs --json; jobs show/logs/attach --json |
passed; each moved admin dispatcher was exercised through public CLI commands |
| Full tests | uv run pytest |
343 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 123 CLI Admin Render Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI, automation, setup, and architecture tests | uv run pytest tests/test_cli.py tests/test_automation_service.py tests/test_setup_service.py tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_render_root_stays_facade tests/test_architecture.py::test_cli_admin_render_stays_split_by_output_family -q |
56 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_automation_service.py tests/test_setup_service.py tests/test_architecture.py |
passed |
| Isolated admin CLI dogfood | temp HOME; temp repo; init; service-created run event; doctor --json; automation status --json; setup --json; uninstall --json; update --check --json; jobs --json; jobs show/logs/attach --json |
passed; each moved admin renderer was exercised through public CLI commands |
| Full tests | uv run pytest |
342 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 122 CLI Wiki Render Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI, topic, and architecture tests | uv run pytest tests/test_cli.py tests/test_topics_mutation.py tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_render_root_stays_facade tests/test_architecture.py::test_cli_wiki_render_stays_split_by_output_family -q |
52 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_topics_mutation.py tests/test_architecture.py |
passed |
| Isolated public CLI dogfood | temp HOME; temp repo; init; authored sourced page; reindex; search; show --meta; show --lead; topics; topics show; health; tag; untag; list --json |
passed; each moved renderer was exercised through public CLI commands |
| Full tests | uv run pytest |
341 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 121 CLI Wiki Dispatch Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI and architecture tests | uv run pytest tests/test_cli.py tests/test_topics_mutation.py tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_dispatch_edge_is_split_by_command_domain tests/test_architecture.py::test_cli_dispatch_files_stay_small -q |
52 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_topics_mutation.py tests/test_architecture.py |
passed |
| Isolated public CLI dogfood | temp HOME; temp repo; init; list --json; search; show --lead; topics create/show/delete; live serve API smoke |
passed; list/search/show/topic commands worked and live serve overview returned the temp wiki |
| Full tests | uv run pytest |
340 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 120 Run Store Factory And Query Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused behavior and architecture tests | uv run pytest tests/test_runs_service.py tests/test_run_queue_workflow.py tests/test_architecture.py::test_run_ledger_persistence_stays_split_by_responsibility -q |
19 passed |
| Focused lint | uv run ruff check src/codealmanac/services/runs tests/test_runs_service.py tests/test_run_queue_workflow.py tests/test_architecture.py |
passed |
| Isolated jobs CLI dogfood | temp HOME; temp repo; service-created spec-backed queued run; public jobs --json; jobs attach --json; jobs logs --json; jobs cancel --json |
passed; listed queued run, attached nonterminal snapshot, read queued log, cancelled run, and attached terminal snapshot |
| Full tests | uv run pytest |
340 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 119 Wiki Topic YAML Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused behavior and architecture tests | uv run pytest tests/test_topics_mutation.py tests/test_topics_health.py tests/test_read_model.py tests/test_architecture.py::test_wiki_topics_yaml_stays_split_by_read_and_mutation -q |
27 passed |
| Focused lint | uv run ruff check src/codealmanac/services/wiki src/codealmanac/services/topics tests/test_topics_mutation.py tests/test_topics_health.py tests/test_read_model.py tests/test_architecture.py |
passed |
| Isolated topic command dogfood | temp HOME; temp repo; codealmanac init; topics create/link/show/rename/delete; health --json |
passed; strict shell run verified parent links, rename slug, delete cleanup, and empty-topic health cleanup |
| Full tests | uv run pytest |
340 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 118 Server Route Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused behavior and architecture tests | uv run pytest tests/test_server.py tests/test_architecture.py::test_server_app_stays_composition_root tests/test_architecture.py::test_viewer_jobs_surface_stays_read_only -q |
10 passed |
| Focused lint | uv run ruff check src/codealmanac/server tests/test_server.py tests/test_architecture.py |
passed |
| Live serve API dogfood | temp HOME; temp repo; current-checkout codealmanac serve; curl /, /api/overview, /api/search?q=getting, /assets/viewer/main.js |
passed; initialized temp wiki, served shell, overview, search result, and nested viewer module |
| Full tests | uv run pytest |
339 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 117 Automation Service Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/services/automation tests/test_automation_service.py tests/test_architecture.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_automation_service.py tests/test_architecture.py::test_automation_service_keeps_selection_and_job_construction_boundaries |
8 passed |
| Isolated service dogfood | temp app with fake scheduler installs/statuses/uninstalls sync/Garden automation | passed; verified sync/Garden install, status, uninstall, --quiet 0s, and normalized Garden working directory |
| Full tests | uv run pytest |
338 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 116 Source Address Family Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/services/sources tests/test_sources_service.py tests/test_architecture.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_sources_service.py tests/test_architecture.py::test_sources_service_stays_orchestration_only |
7 passed |
| Isolated service dogfood | temp app resolving file, directory, missing path, Git range/diff, GitHub PR/issue, transcript, and web URL inputs | passed |
| Full tests | uv run pytest |
337 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 115 Topic Service Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/services/topics tests/test_topics_mutation.py tests/test_topics_health.py tests/test_architecture.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_topics_mutation.py tests/test_topics_health.py tests/test_architecture.py::test_topics_service_keeps_graph_and_workspace_boundaries |
18 passed |
| Isolated CLI dogfood | temp HOME and temp repo with init, topic create/link/show/rename/delete |
passed; corrected topics --wiki <name> ... placement and verified create/link/show/rename/delete/health |
| Full tests | uv run pytest |
337 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 95 Sync Policy Extraction#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/workflows/sync tests/test_architecture.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_sync_workflow.py tests/test_architecture.py |
40 passed |
| Isolated CLI smoke | temp HOME with uv run codealmanac sync status --from codex --quiet 0s --json |
passed; returned zero scanned/eligible transcripts |
| Full tests | uv run pytest |
313 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 96 Filesystem Runtime Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/integrations/sources/filesystem tests/test_filesystem_source_runtime.py tests/test_filesystem_directory_selection.py tests/test_architecture.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_filesystem_directory_selection.py tests/test_architecture.py |
41 passed |
| Source runtime dogfood | temp app-service source runtime inspection for src/service.py through FilesystemSourceRuntimeAdapter |
passed; rendered Directory src and repo-relative file content |
| Full tests | uv run pytest |
315 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For First Slice#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | uv run ruff check . | passed |
| Tests | uv run pytest | 6 passed |
| CLI import | uv run codealmanac --help | passed |
| Live init smoke | HOME=<tmp>/home uv run codealmanac init <temp repo> | passed |
Gates For Slice 85 Claude Event Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused lint | uv run ruff check src/codealmanac/integrations/harnesses/claude tests/test_architecture.py tests/test_claude_adapter.py |
passed |
| Focused behavior and architecture tests | uv run pytest tests/test_claude_adapter.py tests/test_architecture.py |
26 passed |
| Full tests | uv run pytest |
293 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Review fix | uv run pytest tests/test_claude_adapter.py tests/test_architecture.py; uv run ruff check src/codealmanac/integrations/harnesses/claude tests/test_claude_adapter.py tests/test_architecture.py; uv run pytest; uv run ruff check .; git diff --check |
passed; 26 focused tests and 293 full tests |
Gates For Slice 86 Codex Default And Setup Plan#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused behavior and contract tests | uv run pytest tests/test_config_service.py tests/test_setup_service.py tests/test_cli.py::test_cli_setup_and_uninstall_codex_instructions tests/test_cli.py::test_cli_setup_skip_instructions_json tests/test_automation_service.py tests/test_public_contract.py |
44 passed |
| Focused lint | uv run ruff check src/codealmanac/services/config src/codealmanac/services/setup src/codealmanac/services/automation src/codealmanac/cli/render/setup.py tests/test_config_service.py tests/test_setup_service.py tests/test_cli.py tests/test_automation_service.py tests/test_public_contract.py |
passed |
| Live setup smoke | isolated temp home with uv --project /Users/rohan/Desktop/Projects/codealmanac run codealmanac setup --yes --target codex and setup --yes --skip-instructions --json |
passed; text and JSON both showed default harness codex and sync/garden automation recommendations |
| Full tests | uv run pytest |
294 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 87 Setup Automation Options#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused behavior tests | uv run pytest tests/test_setup_service.py tests/test_cli.py::test_cli_setup_and_uninstall_codex_instructions tests/test_cli.py::test_cli_setup_skip_instructions_json tests/test_cli.py::test_cli_setup_installs_automation_with_explicit_flags tests/test_automation_service.py |
20 passed |
| Focused lint | uv run ruff check src/codealmanac/app.py src/codealmanac/services/setup src/codealmanac/services/automation src/codealmanac/cli/parser/admin.py src/codealmanac/cli/dispatch/admin.py src/codealmanac/cli/render/setup.py tests/test_setup_service.py tests/test_cli.py tests/test_automation_service.py |
passed |
| Architecture tests | uv run pytest tests/test_architecture.py |
17 passed |
| Public setup help smoke | uv run codealmanac setup --help |
passed; help shows --install-automation, --sync-every, --sync-quiet, --garden-every, and --garden-off |
| Public contract | uv run pytest tests/test_public_contract.py |
24 passed |
| Full tests | uv run pytest |
299 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice-1 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | uv run ruff check . | passed |
| Tests | uv run pytest | 6 passed |
| Live init/list smoke | isolated temp codealmanac init then codealmanac list | passed |
Gates For Slice 2 Read Model#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 13 passed |
| Isolated live read smoke | temp repo search --mentions, show --backlinks, show --files | passed |
| Dogfood search | uv run codealmanac search python --limit 5 in this repo | passed |
| Dogfood empty mentions | uv run codealmanac search --mentions docs/python-port-live-agreement.md --limit 5 | passed with # 0 results |
Gates For Slice-2 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 14 passed |
| Isolated live CLI precedence | temp repo show auth-flow --body --meta | body output passed |
| Dogfood search | uv run codealmanac search python --limit 3 in this repo | passed |
Gates For Slice 3 Topics And Health#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 17 passed |
| Isolated live topics/health | temp repo topics, topics show auth, health --json | passed |
| Dogfood topics | uv run codealmanac topics in this repo | passed |
| Dogfood health | uv run codealmanac health in this repo | passed; reports expected dead refs to archived TypeScript paths |
Gates For Slice-3 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 19 passed |
| Isolated live path safety | temp repo health --json with /src/... and ../... refs | passed |
| Dogfood health | uv run codealmanac health in this repo | passed |
Gates For Slice 4 Tag And Untag#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 24 passed |
| Isolated live tag/untag | temp repo tag, show --topics, untag, show --topics | passed |
| CLI surface smoke | uv run codealmanac --help | passed with tag and untag |
Gates For Slice-4 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . | passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest | 25 passed |
| Live EOF/no-op smoke | temp repo tag note concepts, untag note missing, cat page | passed |
Gates For Slice 5 Topic Metadata Mutation#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
32 passed |
| Diff hygiene | git diff --check |
passed |
| Isolated live topic mutation | temp repo topics create, topics describe, topics create, topics link, topics show, topics unlink, topics show |
passed |
| CLI help | uv run codealmanac topics --help |
passed with show, create, describe, link, unlink |
| Dogfood topics read | uv run codealmanac topics show cli --descendants |
passed |
Gates For Slice 6 Topic Rewrite Mutation#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
39 passed |
| Diff hygiene | git diff --check |
passed |
| Isolated live topic rewrite | temp repo topics rename, topics show, topics delete, topics show, cat page |
passed |
| CLI help | uv run codealmanac topics --help |
passed with rename and delete |
| Dogfood topics read | uv run codealmanac topics show cli --descendants |
passed |
Gates For Slice 7 Build And Reindex#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
42 passed |
| Diff hygiene | git diff --check |
passed |
| Isolated live maintenance | temp repo build, write page, reindex, search, --help via uv --project /Users/rohan/Desktop/Projects/codealmanac run ... |
passed |
| CLI help | uv run codealmanac --help |
passed with build and reindex |
Gates For Slice 8 Doctor#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused diagnostics tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_diagnostics.py tests/test_cli.py::test_cli_doctor_reports_local_state tests/test_cli.py::test_cli_doctor_json_reports_no_wiki |
4 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
46 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Isolated live doctor | temp no-wiki doctor --json, then temp build and doctor via uv --project /Users/rohan/Desktop/Projects/codealmanac run ... |
passed |
| Dogfood text doctor | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac doctor |
passed; reported repo, index summary, and 125 health problems |
| Dogfood JSON doctor | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac doctor --json |
passed |
| CLI help | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac --help |
passed with doctor |
Gates For Slice 9 Serve#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused serve tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_viewer_service.py tests/test_server.py tests/test_cli.py::test_cli_help_includes_serve |
7 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
53 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Live serve API | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac serve --port 49217, then curl /api/overview, /api/search?q=python, /api/page/python-core-port, /app.js |
passed; server stopped after checks |
| CLI help | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac --help and uv run codealmanac serve --help |
passed |
| Package assets | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv build --out-dir /tmp/codealmanac-build, inspect wheel names |
passed; server/assets/index.html, app.css, and app.js included |
| Browser harness | browser-harness navigation to http://127.0.0.1:49217 |
blocked by Chrome remote-debugging permission prompt |
Gates For Slice-9 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused freshness/server tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_read_model.py tests/test_viewer_service.py tests/test_server.py |
12 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
55 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Live serve API | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac serve --port 49219, then request /api/overview, /api/search?q=python, /api/page/almanac-serve, /app.js |
passed; server stopped after checks |
| Warm-read rewrite check | SQLite trigger on derived pages table while hitting live serve API routes |
passed; serve_rewrites_after_warm_index=0 |
Gates For Slice 10 Runs Ledger#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused runs tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_runs_service.py tests/test_cli.py::test_cli_jobs_inspects_local_run_records tests/test_cli.py::test_cli_help_includes_serve |
5 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
59 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Isolated live jobs CLI | temp repo build; create run through RunsService; read through codealmanac jobs, jobs show, jobs logs, jobs --json |
passed; repo-relative log_path shown |
Gates For Slice 11 Source Input Contracts#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sources tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_sources_service.py |
5 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
64 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Source-resolution dogfood | temp root with file, directory, missing path, GitHub issue URL, GitHub shorthand PR, git range, git diff, transcript ref, and uppercase HTTPS URL through app.sources.resolve(...) |
passed; file fingerprint, missing-path provenance, GitHub identity, git refs, transcript ref, and normalized URL shown |
Gates For Slice 12 Harness Contracts#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused harness tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_harnesses_service.py |
4 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
68 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Harness service dogfood | fake Codex adapter through HarnessesService.check() and HarnessesService.run(...) |
passed; readiness plus normalized run result shown |
Gates For Slice 13 Internal Ingest Workflow#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused ingest/harness tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_ingest_workflow.py tests/test_harnesses_service.py |
9 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
73 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Internal ingest dogfood | temp repo build; fake Codex harness writes .almanac/pages/dogfood-ingest.md; app.workflows.ingest.run(...); search and run-log readback |
passed; run done, 2 indexed pages, new page first in search, source JSON present in prompt |
Gates For Slice 14 Claude CLI Adapter#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused adapter/ingest tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_architecture.py tests/test_claude_adapter.py tests/test_ingest_workflow.py |
13 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
81 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Default adapter readiness dogfood | create_app().harnesses.check() |
passed; Claude available via claude.ai |
| Real Claude ingest dogfood | temp Git repo; app.workflows.ingest.run(..., harness=HarnessKind.CLAUDE) |
passed; one .almanac/pages file changed, run done, index refreshed, search found page |
Gates For Slice 15 Ingest Mutation Safety#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused mutation tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_git_workspace_probe.py tests/test_ingest_workflow.py tests/test_architecture.py |
12 passed |
| Policy coverage | ingest workflow tests | passed; dirty app files allowed when unchanged, dirty app mutation rejected, dirty .almanac/ rejected, non-Git ingest rejected |
| Architecture guard | tests/test_architecture.py |
passed; CLI/workflows/services do not import integrations |
| Live safety dogfood | temp Git repo with dirty src/app.py; fake harness wrote .almanac/pages/safety-dogfood.md; app.workflows.ingest.run(...); search readback |
passed; run done, safety changed files only wiki page, dirty app file preserved, search found page |
Gates For Slice 16 Public Ingest CLI#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused CLI/ingest/Claude tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_cli.py tests/test_ingest_workflow.py tests/test_claude_adapter.py tests/test_architecture.py |
passed before full verification |
| CLI help smoke | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run codealmanac --help and uv run codealmanac ingest --help |
passed; ingest appears with --using, --title, and --guidance |
| Claude stdin smoke | printf 'Return exactly: ok' | claude -p --output-format json --no-session-persistence --permission-mode acceptEdits --tools Read,Write,Edit,MultiEdit,Glob,Grep,LS |
passed; Claude returned JSON result ok |
| Real CLI ingest dogfood | temp Git repo; codealmanac build; commit wiki; codealmanac ingest note.md --using claude; search readback; restore user registry backup |
passed; run done, search found ingest-cli-thin-adapter, Git status showed only .almanac/pages/ingest-cli-thin-adapter.md |
Gates For Slice 17 Codex CLI Harness Adapter#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused adapter/harness tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest tests/test_ingest_workflow.py tests/test_codex_adapter.py tests/test_claude_adapter.py tests/test_harnesses_service.py tests/test_architecture.py |
28 passed |
| Full tests | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run pytest |
95 passed |
| Formatting/lint | UV_CACHE_DIR=/private/tmp/usealmanac-uv-cache uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Codex final-message smoke | printf 'Return exactly: ok' | codex exec --config 'mcp_servers={}' --config 'approval_policy="never"' --cd <repo> --ephemeral --sandbox workspace-write --ignore-rules --color never --output-last-message <tmp> - |
passed; final message file contained ok |
| Real CLI ingest dogfood | temp Git repo; temp HOME; real CODEX_HOME; venv codealmanac build; commit wiki; codealmanac ingest note.md --using codex; search readback |
passed; run done, search found codex-adapter, Git status showed only .almanac/pages/codex-adapter.md |
| Failed-provider mutation safety | focused ingest workflow regression | passed; failed harness that mutates src/app.py raises mutation-safety failure before provider-status failure |
Gates For Slice 18 Garden Workflow#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused Garden/prompt/CLI tests | uv run pytest tests/test_prompts.py tests/test_garden_workflow.py tests/test_cli.py::test_cli_garden_runs_workflow_with_selected_harness tests/test_cli.py::test_cli_help_includes_serve tests/test_ingest_workflow.py tests/test_architecture.py |
18 passed |
| Full tests | uv run pytest |
101 passed |
| Formatting/lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| CLI help smoke | uv run codealmanac --help and uv run codealmanac garden --help |
passed; garden appears with --using, --title, and --guidance |
| Package prompts | uv build --out-dir /tmp/codealmanac-build, inspect wheel names |
passed; base and operation prompt Markdown included |
| Real CLI Garden dogfood | temp Git repo; temp HOME; real CODEX_HOME; venv codealmanac build; commit wiki; codealmanac garden --using codex; search and job-log readback |
passed; run done, added concepts topic to .almanac/pages/thin-dogfood-note.md, Git status showed only that wiki page changed |
Gates For Slice 19 Sync Status#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync tests | uv run pytest tests/test_transcript_discovery.py tests/test_sync_workflow.py tests/test_cli.py::test_cli_sync_status_reports_ready_transcripts tests/test_cli.py::test_cli_help_includes_serve tests/test_architecture.py |
8 passed |
| Full tests | uv run pytest |
107 passed |
| Formatting/lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| CLI help/status smoke | uv run codealmanac --help, uv run codealmanac sync status --help, uv run codealmanac sync status --quiet 0s --from codex --json |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build |
passed |
| Isolated sync status dogfood | temp repo; temp HOME; synthetic Codex transcript under .codex/sessions; venv codealmanac sync status --from codex --quiet 0s; JSON readback |
passed; scanned 1, eligible 1, ready sync-dogfood-session lines 1-2 |
Gates For Slice 20 Harness Transcript Feedback#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused feedback tests | uv run pytest tests/test_runs_service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py tests/test_claude_adapter.py tests/test_codex_adapter.py tests/test_cli.py::test_cli_jobs_inspects_local_run_records |
29 passed |
| Full tests | uv run pytest |
107 passed |
| Formatting/lint | uv run ruff check src tests |
passed after import sort |
| Diff hygiene | git diff --check |
passed |
| Live jobs show smoke | temp repo run record with harness_transcript; codealmanac jobs show <run-id> |
passed; displayed harness_transcript: codex codex-smoke-session |
Gates For Slice 21 Sync Internal Transcript Exclusion#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync tests | uv run pytest tests/test_sync_workflow.py |
5 passed |
| Full tests | uv run pytest |
109 passed |
| Formatting/lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Isolated sync-status dogfood | temp repo with one internal Codex transcript and one ordinary Codex transcript | passed; scanned 2, eligible 1, skipped internal-session, ready ordinary-session |
Gates For Slice 22 Foreground Sync#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync/CLI tests | uv run pytest tests/test_sync_workflow.py tests/test_cli.py::test_cli_sync_status_reports_ready_transcripts tests/test_cli.py::test_cli_sync_runs_ingest_for_ready_transcripts |
8 passed |
| Full tests | uv run pytest |
111 passed |
| Formatting/lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Isolated foreground sync dogfood | temp repo, fake Codex transcript, fake Codex harness, foreground codealmanac sync --from codex --quiet 0s --using codex |
passed; wrote foreground-sync-dogfood.md, started one Ingest run, and advanced the sync ledger |
Gates For Slice 23 Local Automation#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused automation tests | uv run pytest tests/test_automation_service.py tests/test_cli.py::test_cli_help_includes_serve tests/test_cli.py::test_cli_automation_install_status_and_uninstall tests/test_architecture.py |
9 passed |
| Formatting/lint | uv run ruff check src/codealmanac/services/automation src/codealmanac/integrations/automation src/codealmanac/app.py src/codealmanac/cli/main.py tests/test_automation_service.py tests/test_cli.py |
passed |
| Full tests | uv run pytest |
118 passed |
| Formatting/lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Automation status smoke | temp HOME; uv run codealmanac automation status --json |
passed; no plist installed in temp HOME, launchd loaded state reported independently by label |
Gates For Slice 24 Git Source Runtime#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused source/runtime tests | uv run pytest tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_cli.py::test_cli_ingest_runs_workflow_with_selected_harness tests/test_architecture.py |
19 passed |
| Focused lint | uv run ruff check src/codealmanac/services/sources src/codealmanac/integrations/sources src/codealmanac/workflows/ingest src/codealmanac/app.py tests/test_sources_service.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
120 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Git source runtime dogfood | temp Git repo, dirty src/auth.py, real Git runtime adapter, fake harness, app.workflows.ingest.run(inputs=("git:diff",)), search readback |
passed; prompt contained diff --git and changed text, run done, search found git-runtime-dogfood |
Gates For Slice 25 GitHub Source Runtime#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused GitHub/source/ingest tests | uv run pytest tests/test_github_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
22 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations src/codealmanac/services/sources tests/test_github_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
124 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice25 |
passed; wheel includes integrations/command.py and integrations/sources/github/adapter.py |
| GitHub runtime dogfood | temp Git repo, real gh adapter, public cli/cli PR #1 and issue #2, fake harness, app.workflows.ingest.run(...), search readback |
passed; two available runtime snapshots, prompt contained PR title, issue title, and diff --git, search found github-runtime-dogfood |
Gates For Slice 26 Transcript Source Runtime#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused transcript runtime tests | uv run pytest tests/test_transcript_source_runtime.py tests/test_sync_workflow.py tests/test_ingest_workflow.py tests/test_transcript_discovery.py tests/test_architecture.py |
25 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources/transcripts src/codealmanac/integrations/sources/__init__.py tests/test_transcript_source_runtime.py tests/test_sync_workflow.py |
passed |
| Full tests | uv run pytest |
128 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice26 |
passed; wheel includes integrations/sources/transcripts/runtime.py and the jsonlines dependency |
| Foreground sync transcript runtime dogfood | temp Git repo, JSONL Codex transcript, fake discovery, real TranscriptSourceRuntimeAdapter, fake harness, app.workflows.sync.run(...), search readback |
passed; prompt contained transcript runtime text, sync started one run, search found transcript-runtime-dogfood |
Gates For Slice 27 Web Source Runtime#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused web/source/ingest tests | uv run pytest tests/test_web_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
25 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources tests/test_web_source_runtime.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
134 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice27; wheel inspection |
passed; wheel includes integrations/sources/web/adapter.py and metadata dependencies for httpx and beautifulsoup4 |
| Web runtime dogfood | temp Git repo, real default WebSourceRuntimeAdapter, https://example.com/, fake harness, app.workflows.ingest.run(...), search readback |
passed; runtime available, prompt contained Example Domain, search found web-runtime-dogfood |
Gates For Slice 28 Filesystem Source Runtime#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused filesystem/source/ingest tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
26 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources tests/test_filesystem_source_runtime.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
140 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice28; wheel inspection |
passed; wheel includes integrations/sources/filesystem/adapter.py and metadata dependencies for pathspec and charset-normalizer |
| Filesystem runtime dogfood | temp Git repo, real default filesystem runtime adapter, local notes.md and src/ inputs, fake Codex harness, app.workflows.ingest.run(...), search readback |
passed; two available runtime snapshots, prompt contained file and directory text, .gitignored text was absent, search found filesystem-runtime-dogfood |
Gates For Slice 29 Update Command#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused update/CLI/architecture tests | uv run pytest tests/test_update_service.py tests/test_cli.py::test_cli_update_check_json_reports_plan tests/test_cli.py::test_cli_update_refuses_editable_install tests/test_cli.py::test_cli_help_includes_update tests/test_cli.py::test_cli_doctor_reports_local_state tests/test_architecture.py |
9 passed |
| Focused lint | uv run ruff check src/codealmanac/services/updates src/codealmanac/integrations/updates src/codealmanac/app.py src/codealmanac/cli/main.py tests/test_update_service.py tests/test_cli.py |
passed |
| Full tests | uv run pytest |
147 passed |
| Full lint | uv run ruff check src tests |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice29; wheel inspection |
passed; wheel includes services/updates/ and integrations/updates/ modules |
| Live check | uv run codealmanac update --check |
passed; editable install reported unsupported with run: git pull && uv sync |
| Live JSON check | uv run codealmanac update --check --json |
passed; reported method: editable, installer: uv, and source URL for this checkout |
| Live default update refusal | uv run codealmanac update |
passed; exited 1 and refused editable source mutation |
Gates For Slice 30 Viewer File Route#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused viewer/server tests | uv run pytest tests/test_viewer_service.py tests/test_server.py |
9 passed |
| Focused lint | uv run ruff check src/codealmanac/services/viewer src/codealmanac/server tests/test_viewer_service.py tests/test_server.py |
passed |
| Full tests | uv run pytest |
150 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice30; wheel inspection |
passed; wheel includes server/assets/index.html, server/assets/app.js, and server/assets/app.css |
| Live serve API | uv run codealmanac serve --port 49231, then curl /api/file?path=src/viewer/api.ts, /api/file?path=src/viewer/, invalid ../secret.txt, and /app.js |
passed; file and folder routes returned matching pages, traversal returned 422, frontend asset contains renderFile and /api/file?path= |
Gates For Slice 31 Filesystem Git Directory Listing#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused filesystem tests | uv run pytest tests/test_filesystem_source_runtime.py |
7 passed |
| Focused source/ingest/architecture tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
27 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources tests/test_filesystem_source_runtime.py tests/test_ingest_workflow.py tests/test_sources_service.py tests/test_architecture.py |
passed |
| Full tests | uv run pytest |
151 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice31; wheel inspection |
passed; wheel includes integrations/sources/filesystem/adapter.py and integrations/command.py |
| Filesystem Git listing dogfood | temp Git repo with staged tracked file, untracked source file, nested .gitignore, .almanac/, and .env; default create_app() source runtime |
passed; runtime available, listing_source: git, included tracked/untracked source text, excluded ignored/private files |
Gates For Slice 32 Filesystem Directory Selection#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused filesystem tests | uv run pytest tests/test_filesystem_source_runtime.py |
8 passed |
| Focused source/ingest/architecture tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
28 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources/filesystem tests/test_filesystem_source_runtime.py tests/test_sources_service.py tests/test_ingest_workflow.py tests/test_architecture.py |
passed |
| Full tests | uv run pytest |
152 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice32; wheel inspection |
passed; wheel includes integrations/sources/filesystem/adapter.py and integrations/sources/filesystem/selection.py |
| Dirty-checkout dogfood | default create_app() source runtime inspecting src/codealmanac/ while slice files were dirty |
passed; changed filesystem adapter and selector files ranked before unchanged files |
| Truncation dogfood | temp Git repo with modified tracked file, untracked file, unchanged file, and max_directory_files=2 |
passed; changed files included and unchanged file excluded under the bound |
Gates For Slice 33 Public Contract Guards#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused public contract tests | uv run pytest tests/test_public_contract.py |
13 passed |
| Focused CLI/architecture tests | uv run pytest tests/test_public_contract.py tests/test_cli.py tests/test_architecture.py |
34 passed |
| Focused lint | uv run ruff check tests/test_public_contract.py tests/test_cli.py tests/test_architecture.py |
passed |
| Full tests | uv run pytest |
165 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice33; parsed wheel entry points and package modules |
passed; wheel has only the codealmanac console script and no sdk/mcp package modules |
| Live CLI help and forbidden command smoke | uv run codealmanac --help; uv run codealmanac login |
passed; help used codealmanac, and login failed as an invalid choice |
Gates For Slice 34 Manual Surface#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused manual/build/doctor/prompt tests | uv run pytest tests/test_manual.py tests/test_build_workflow.py tests/test_diagnostics.py tests/test_cli.py::test_cli_doctor_reports_local_state tests/test_prompts.py |
14 passed |
| Focused lint | uv run ruff check src/codealmanac/manual src/codealmanac/app.py src/codealmanac/services/wiki/service.py src/codealmanac/services/diagnostics/service.py tests/test_manual.py tests/test_build_workflow.py tests/test_diagnostics.py tests/test_cli.py |
passed |
| Full tests | uv run pytest |
169 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice34-*; wheel inspection |
passed; wheel includes codealmanac/manual/*.md, manual Python modules, prompt Markdown, and the codealmanac entry point |
| Live manual dogfood | isolated temp repo and temp HOME; codealmanac build; codealmanac doctor --wiki manual-dogfood --json; delete pages.md; repeat doctor |
passed; build created .almanac/manual/README.md and ingest.md, doctor reported manual: 8 bundled docs and manual: 8 docs, then reported manual missing: pages.md with run: codealmanac build |
Gates For Slice 35 Sync Pending Claims#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync pending tests | uv run pytest tests/test_sync_workflow.py tests/test_cli.py::test_cli_sync_status_reports_ready_transcripts tests/test_architecture.py |
passed |
| Focused lint | uv run ruff check src/codealmanac/workflows/sync tests/test_sync_workflow.py |
passed |
| Full tests | uv run pytest |
174 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Live pending dogfood | service-level pending claim observation plus CLI stale/active pending status checks in an isolated temp repo | passed; service observed pending before harness write, final ledger was done, CLI active pending reported sync-already-pending, and CLI stale pending reported sync-pending-stale |
Gates For Slice 36 Run Lifecycle State#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused run/lifecycle tests | uv run pytest tests/test_runs_service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py tests/test_sync_workflow.py |
30 passed |
| Focused lint | uv run ruff check src/codealmanac/services/runs src/codealmanac/workflows/ingest src/codealmanac/workflows/garden tests/test_runs_service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
passed |
| Full tests | uv run pytest |
175 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Live run lifecycle dogfood | temp repo Ingest through fake harness plus jobs show/jobs logs readback |
passed; jobs show --json reported done with started_at and finished_at, and jobs logs --json showed queued ingest, running, done |
Gates For Slice 37 Sync Pending Run Linkage#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync tests | uv run pytest tests/test_sync_workflow.py |
15 passed |
| Focused ingest tests | uv run pytest tests/test_ingest_workflow.py |
13 passed |
| Focused lint | uv run ruff check src/codealmanac/workflows/sync src/codealmanac/workflows/ingest tests/test_sync_workflow.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
179 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Live sync reconciliation dogfood | isolated temp repo with a linked terminal pending run, foreground sync, final ledger readback, and prompt cursor check | passed; CLI status reported sync-pending-run-done, foreground sync started a new run at cursor 3-3, prompt contained Focus on line 3 onward., and final ledger cleared pending_run_id |
Gates For Slice 38 Database Boundary#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused database/read-model/architecture tests | uv run pytest tests/test_database.py tests/test_read_model.py tests/test_architecture.py |
11 passed |
| Focused lint | uv run ruff check src/codealmanac/database src/codealmanac/services/index/store.py tests/test_database.py tests/test_architecture.py tests/test_read_model.py |
passed |
| Full tests | uv run pytest |
183 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Live build/search dogfood | isolated temp repo, codealmanac build, write page, codealmanac search, inspect index.db user_version and WAL mode |
passed; search returned db-boundary-dogfood, user_version=20260630, journal_mode=wal, and the indexed slug existed in pages |
Gates For Slice 39 Config Boundary#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused config/CLI/architecture tests | uv run pytest tests/test_config_service.py tests/test_cli.py::test_cli_ingest_uses_configured_default_harness tests/test_cli.py::test_cli_sync_status_uses_configured_quiet_window tests/test_architecture.py |
11 passed |
| Focused lint | uv run ruff check src/codealmanac/services/config src/codealmanac/core src/codealmanac/app.py src/codealmanac/cli/main.py src/codealmanac/services/automation/service.py tests/test_config_service.py tests/test_cli.py tests/test_architecture.py |
passed |
| Full tests | uv run pytest |
192 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice39; wheel inspection |
passed; wheel includes services/config/ and metadata dependency pydantic-settings |
| Live config dogfood | temp repo with .almanac/config.toml setting [sync].quiet = "0s", temp HOME with one Codex transcript, run codealmanac sync status --from codex --json from repo cwd without --quiet |
passed; scanned 1, eligible 1, ready 1, session config-dogfood-session |
Gates For Slice 40 CLI Edge Split#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused CLI/public-contract/architecture tests | uv run pytest tests/test_architecture.py tests/test_cli.py tests/test_public_contract.py |
42 passed |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_architecture.py tests/test_cli.py tests/test_public_contract.py |
passed |
| Full tests | uv run pytest |
195 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice40; wheel inspection |
passed; wheel includes cli/main.py, cli/parser/, cli/dispatch/root.py, and cli/render/root.py |
| Live CLI dogfood | temp repo with codealmanac build, committed page, and codealmanac search through the installed console script |
passed; search returned cli-split-dogfood |
Gates For Slice 41 Configurable Almanac Root#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused root/config/sync/lifecycle tests | uv run pytest tests/test_build_workflow.py tests/test_transcript_discovery.py tests/test_sync_workflow.py tests/test_config_service.py tests/test_cli.py tests/test_runs_service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
75 passed |
| Focused lint | uv run ruff check src/codealmanac/services/workspaces src/codealmanac/services/config src/codealmanac/workflows src/codealmanac/integrations/sources tests/test_build_workflow.py tests/test_transcript_discovery.py tests/test_sync_workflow.py tests/test_config_service.py tests/test_cli.py tests/test_runs_service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
passed |
| Full tests | uv run pytest |
204 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice41 |
passed; wheel includes services/workspaces/roots.py |
| Live configurable-root dogfood | isolated temp HOME; default codealmanac build, write/search page under almanac/; configured codealmanac init --root docs/almanac, plain codealmanac build, write/search page under docs/almanac/; codealmanac list |
passed; searches returned root-dogfood and configured-root-dogfood; plain build reported built docs-root; list showed default-root ... almanac and docs-root ... docs/almanac |
Gates For Slice 42 Source Runtime Context#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused filesystem/source/ingest tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_ingest_workflow.py tests/test_sources_service.py |
36 passed |
| Focused lint | uv run ruff check src/codealmanac/services/sources/requests.py src/codealmanac/integrations/sources/filesystem/adapter.py src/codealmanac/workflows/ingest/service.py tests/test_filesystem_source_runtime.py tests/test_ingest_workflow.py |
passed |
| Full tests | uv run pytest |
213 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice42; wheel inspection |
passed; wheel includes source request, filesystem runtime, and ingest workflow modules |
| Custom-root dogfood | isolated temp HOME; codealmanac init <repo> --root knowledge; Git repo with src/app.py and knowledge/pages/runtime-wiki.md; app.workflows.ingest.inspect_source_runtime(...) |
passed; runtime included src/app.py and excluded knowledge/pages/runtime-wiki.md |
Gates For Slice 43 Scheduled Sync Retry Policy#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused sync/automation/CLI tests | uv run pytest tests/test_sync_workflow.py tests/test_automation_service.py tests/test_cli.py::test_cli_sync_status_reports_ready_transcripts tests/test_cli.py::test_cli_sync_status_uses_retry_budget_flags tests/test_cli.py::test_cli_sync_runs_ingest_for_ready_transcripts tests/test_cli.py::test_cli_automation_install_status_and_uninstall |
28 passed |
| Focused lint | uv run ruff check src/codealmanac/workflows/sync src/codealmanac/services/automation src/codealmanac/cli/parser/lifecycle.py src/codealmanac/cli/dispatch/root.py tests/test_sync_workflow.py tests/test_automation_service.py tests/test_cli.py |
passed |
| Full tests | uv run pytest |
216 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice43; wheel inspection |
passed; wheel includes sync workflow, automation service, lifecycle parser, and dispatch modules |
| Retry-budget dogfood | isolated temp HOME; synthetic Codex transcript; failed sync ledger with failed_attempts = 1; CLI sync status --from codex --quiet 0s --max-failed-attempts 1 --wiki retry-dogfood |
passed; reported sync-retry-budget-exhausted |
Gates For Slice 44 Clean Directory Diversity#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused selector/runtime tests | uv run pytest tests/test_filesystem_directory_selection.py tests/test_filesystem_source_runtime.py |
19 passed |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources/filesystem tests/test_filesystem_directory_selection.py tests/test_filesystem_source_runtime.py |
passed |
| Full tests | uv run pytest |
219 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice44; wheel inspection |
passed; wheel includes filesystem adapter and selector modules |
| Source-runtime dogfood | app.sources.inspect_runtime(...) over src/codealmanac/ |
passed; changed filesystem files stayed first and clean service/workflow groups were represented |
Gates For Slice 45 Viewer Wikilink Token Safety#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused viewer renderer/service/server tests | uv run pytest tests/test_viewer_renderer.py tests/test_viewer_service.py tests/test_server.py |
11 passed |
| Focused lint | uv run ruff check src/codealmanac/services/viewer tests/test_viewer_renderer.py tests/test_viewer_service.py tests/test_server.py |
passed |
| Full tests | uv run pytest |
221 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice45; wheel inspection |
passed; wheel includes viewer modules and server adapter |
| Renderer dogfood | MarkdownRenderer().render(...) with text, inline-code, fenced-code, and HTML label cases |
passed; only text wikilink became an anchor and HTML label was escaped |
Gates For Slice 46 Serve Visual Port#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused viewer/server tests | uv run pytest tests/test_server.py tests/test_viewer_service.py tests/test_viewer_renderer.py |
11 passed |
| Focused lint | uv run ruff check src/codealmanac/services/viewer src/codealmanac/server tests/test_server.py tests/test_viewer_service.py tests/test_viewer_renderer.py |
passed |
| Full tests | uv run pytest |
221 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice46; wheel inspection |
passed; wheel includes updated viewer assets |
| Browser desktop dogfood | temp repo, live codealmanac serve, browser-harness page/search/file/wikilink navigation checks |
passed; no horizontal overflow, no script nodes in rendered page, side panel file refs visible |
| Browser mobile dogfood | browser-harness at 390px width on page route | passed; page rendered, side panel collapsed, search fit viewport, no horizontal overflow |
Gates For Slice 47 Viewer Frontend Modules#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused server/viewer tests | uv run pytest tests/test_server.py tests/test_viewer_service.py tests/test_viewer_renderer.py |
12 passed |
| Focused server lint | uv run ruff check src/codealmanac/server tests/test_server.py |
passed |
| Full tests | uv run pytest |
222 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice47; wheel inspection |
passed; wheel includes server/assets/viewer/*.js |
| Static asset contract | tests/test_server.py |
covers nested module serving, missing asset 404, traversal validation, unsupported extension validation, and module script tag |
| Browser module dogfood | temp repo, live codealmanac serve, browser-harness page/search/file/wikilink navigation and module fetch checks |
passed; /app.js, /assets/viewer/main.js, and /assets/viewer/api.js loaded as JavaScript |
Gates For Slice-47 Review Fix#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused server/viewer tests | uv run pytest tests/test_server.py tests/test_viewer_service.py tests/test_viewer_renderer.py |
12 passed |
| Focused server lint | uv run ruff check src/codealmanac/server tests/test_server.py |
passed |
| Diff hygiene | git diff --check |
passed |
| Browser malformed-hash dogfood | temp repo, live codealmanac serve, browser-harness route to #/page/% |
passed; viewer rendered the error state instead of breaking module execution |
| Package build | uv build --out-dir /tmp/codealmanac-build-slice47-final; wheel inspection |
passed; wheel includes updated nested viewer modules |
Gates For Slice 48 Update Install Dogfood#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused update tests | uv run pytest tests/test_update_service.py tests/test_cli.py::test_cli_update_check_json_reports_plan tests/test_cli.py::test_cli_update_refuses_editable_install tests/test_cli.py::test_cli_help_includes_update |
8 passed |
| Focused update lint | uv run ruff check src/codealmanac/services/updates src/codealmanac/integrations/updates src/codealmanac/cli/dispatch/root.py tests/test_update_service.py tests/test_cli.py |
passed |
| Pip install dogfood | throwaway Python 3.12 venv, python -m pip install <wheel>, codealmanac update --check --json, PIP_NO_INDEX=1 PIP_FIND_LINKS=<wheel-dir> codealmanac update --json |
passed; metadata reported installer: pip, planned venv-local Python, and update returned status: completed |
| Uv-tool install dogfood | throwaway UV_TOOL_DIR and UV_TOOL_BIN_DIR, uv tool install <wheel>, codealmanac update --check --json, UV_FIND_LINKS=<wheel-dir> codealmanac update --json |
passed; metadata reported installer: uv, planned uv tool upgrade codealmanac, and update returned status: completed with Nothing to upgrade on stderr |
| Full tests | uv run pytest |
223 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice48-final |
passed; wheel built as codealmanac-0.1.0-py3-none-any.whl |
Gates For Slice 49 CLI Admin Edge Split#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused architecture/admin CLI tests | uv run pytest tests/test_architecture.py tests/test_cli.py::test_cli_help_includes_update tests/test_cli.py::test_cli_update_check_json_reports_plan tests/test_cli.py::test_cli_update_refuses_editable_install tests/test_cli.py::test_cli_automation_install_status_and_uninstall tests/test_cli.py::test_cli_jobs_inspects_local_run_records tests/test_cli.py::test_cli_doctor_json_reports_no_wiki |
15 passed |
| Focused CLI lint | uv run ruff check src/codealmanac/cli tests/test_architecture.py tests/test_cli.py |
passed |
| Admin CLI dogfood | uv run codealmanac update --check --json; uv run codealmanac doctor --json; uv run codealmanac automation status --json; uv run codealmanac jobs --json --limit 1; uv run codealmanac --help |
passed; editable update reported unsupported as expected, doctor reached diagnostics, automation returned launchd status, jobs returned [], and help listed admin commands |
| Full tests | uv run pytest |
224 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice49-final; wheel inspection |
passed; wheel includes cli/dispatch/admin.py, cli/dispatch/config.py, and cli/render/admin.py |
Gates For Slice 50 Index Read Views#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused read-view tests | uv run pytest tests/test_architecture.py tests/test_read_model.py tests/test_topics_health.py tests/test_viewer_service.py tests/test_cli.py::test_cli_search_and_show_read_current_repo_wiki tests/test_cli.py::test_cli_topics_and_health_read_current_repo_wiki tests/test_cli.py::test_cli_build_and_reindex_commands |
27 passed |
| Focused index lint | uv run ruff check src/codealmanac/services/index tests/test_architecture.py tests/test_read_model.py tests/test_topics_health.py tests/test_viewer_service.py tests/test_cli.py |
passed |
| Temp-repo read dogfood | isolated temp HOME; initialized a wiki; ran search, search --mentions, show --backlinks, topics --wiki cqrs-dogfood show auth, and health |
passed; search/mentions/backlinks returned auth-flow, topic listed both pages, and health was clean |
| Full tests | uv run pytest |
225 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice50-final; wheel inspection |
passed; wheel includes services/index/views.py |
Gates For Slice 51 Serve Shell Polish#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused serve/static tests | uv run pytest tests/test_server.py tests/test_architecture.py -q |
16 passed |
| Static/API serve dogfood | isolated temp HOME; temp wiki; uv --project /Users/rohan/Desktop/Projects/codealmanac run codealmanac serve --host 127.0.0.1 --port 49233; curl /, /assets/viewer/main.js, /api/overview, /api/page/auth-flow |
passed; returned CodeAlmanac viewer shell, route-state JS, and expected wiki payloads |
| Full tests | uv run pytest |
226 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice51-final; wheel inspection |
passed; wheel includes updated viewer assets, no clamp( or vw, repo-owned wiki, and dataset.railKind |
| Browser-harness visual dogfood | isolated temporary Chrome profile with explicit BU_CDP_URL; live temp serve; overview/page/topic/search route checks; 390px mobile page route check |
passed; sidebar-first shell rendered, page/topic/search active states were correct, file refs were visible, dense mobile rail and side panel collapsed, search fit viewport, and no horizontal overflow appeared |
Gates For Slice 52 Manual Drift Diagnostics#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused manual/doctor/CLI tests | uv run pytest tests/test_manual.py tests/test_diagnostics.py tests/test_cli.py::test_cli_doctor_reports_manual_drift -q |
9 passed |
| Focused manual/doctor lint | uv run ruff check src/codealmanac/manual src/codealmanac/services/diagnostics tests/test_manual.py tests/test_diagnostics.py tests/test_cli.py |
passed |
| Full tests | uv run pytest |
229 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice52; wheel inspection |
passed; wheel includes manual library/model modules and bundled manual Markdown |
| Manual drift dogfood | isolated temp HOME; temp repo; codealmanac build; edit almanac/manual/README.md; codealmanac doctor --wiki manual-drift-dogfood --json |
passed; wiki.manual reported status: "info", manual differs: README.md, and a review-only fix message |
Gates For Slice 53 Registry List Management#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused workspace/CLI tests | uv run pytest tests/test_build_workflow.py::test_workspace_registry_reports_and_drops_missing_wikis tests/test_build_workflow.py::test_workspace_registry_drops_selected_wiki tests/test_cli.py::test_cli_list_json_reports_registry_status tests/test_cli.py::test_cli_list_drop_removes_selected_wiki tests/test_cli.py::test_cli_list_drop_missing_removes_unreachable_wikis -q |
5 passed |
| Focused workspace/CLI lint | uv run ruff check src/codealmanac/services/workspaces src/codealmanac/cli tests/test_build_workflow.py tests/test_cli.py |
passed |
| Source-runtime dogfood | uv run python service-level inspection of src/codealmanac/, src/codealmanac/services/sources/, and src/codealmanac/integrations/sources/filesystem/ |
passed; Git listing used changed-then-diverse selection and did not justify recency/ranking changes |
| Full tests | uv run pytest |
234 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice53; wheel inspection |
passed; wheel includes changed workspace service and CLI parser/render modules |
| Registry cleanup dogfood | isolated temp HOME; temp live and missing repos; codealmanac list --json; codealmanac list --drop-missing; codealmanac list; codealmanac list --drop drop-me |
passed; JSON reported available and missing_repo, drop-missing removed only the unreachable entry, selected drop removed the named entry |
Gates For Slice 54 Harness Failure Logs#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused workflow tests | uv run pytest tests/test_ingest_workflow.py tests/test_garden_workflow.py |
17 passed |
| Focused lifecycle lint | uv run ruff check src/codealmanac/workflows/lifecycle.py src/codealmanac/workflows/ingest/service.py src/codealmanac/workflows/garden/service.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
passed |
| Full tests | uv run pytest |
235 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice54; wheel inspection |
passed; wheel includes lifecycle, ingest workflow, and garden workflow modules |
| Failed-harness log dogfood | isolated temp HOME; temp Git repo; fake Codex harness returned failed and mutated src/app.py; codealmanac jobs logs <run-id> |
passed; log reported output codex failed..., then safety error, then status failed |
Gates For Slice 55 Normalized Harness Events#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused harness/workflow tests | uv run pytest tests/test_harnesses_service.py tests/test_codex_adapter.py tests/test_claude_adapter.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
35 passed |
| Focused harness/workflow lint | uv run ruff check src/codealmanac/services/harnesses src/codealmanac/integrations/harnesses src/codealmanac/workflows tests/test_harnesses_service.py tests/test_codex_adapter.py tests/test_claude_adapter.py tests/test_ingest_workflow.py tests/test_garden_workflow.py |
passed |
| Full tests | uv run pytest |
236 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice55; wheel inspection |
passed; wheel includes harness models, Codex/Claude adapters, lifecycle helpers, and ingest/garden workflows |
| Normalized harness event dogfood | isolated temp HOME; temp Git repo; fake Codex harness returned text/tool/tool/done events; codealmanac jobs logs <run-id> |
passed; log reported output/tool/tool/output events before status done |
Gates For Slice 56 Public Release README#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Focused public-contract tests | uv run pytest tests/test_public_contract.py |
15 passed |
| Focused public-contract lint | uv run ruff check tests/test_public_contract.py |
passed |
| Full tests | uv run pytest |
238 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Package build | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice56; wheel metadata/package-data inspection |
passed; README metadata, license file, server assets, manual files, and prompts present |
| Clean wheel install dogfood | isolated temp venv and HOME; install built wheel; installed codealmanac --help, init, search, show, health --json, jobs, and serve /api/overview |
passed; temp repo initialized, search found getting-started, viewer returned workspace repo with one page |
Gates For Slice 57 Real Codex Ingest Dogfood#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| First real Codex ingest dogfood | service-level temp repo, temp registry, real CodexCliHarnessAdapter, source notes/auth-boundary.md |
passed mechanically; created almanac/pages/auth-billing-boundary.md, preserved non-wiki files, and recorded jobs log output, but health reported broken workos and autumn page links |
| Prompt/manual link contract tests | uv run pytest tests/test_prompts.py tests/test_manual.py tests/test_ingest_workflow.py::test_ingest_workflow_resolves_sources_runs_harness_and_refreshes_index |
8 passed |
| Second real Codex ingest dogfood | service-level temp repo after prompt/manual fix, real CodexCliHarnessAdapter, same source shape |
passed; created almanac/pages/auth-membership-boundary.md, search auth returned the page, jobs log recorded provider output, and health had no broken links |
| Starter health guard | uv run pytest tests/test_build_workflow.py::test_initialize_starter_wiki_has_no_health_noise tests/test_build_workflow.py::test_initialize_creates_almanac_wiki_and_registry tests/test_prompts.py tests/test_manual.py tests/test_ingest_workflow.py::test_ingest_workflow_resolves_sources_runs_harness_and_refreshes_index |
10 passed |
| Full tests | uv run pytest |
239 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 58 Real Claude Ingest Dogfood#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Claude readiness | claude auth status |
passed; logged in with first-party Claude auth |
| Real Claude ingest dogfood | service-level temp repo, temp registry, real ClaudeCliHarnessAdapter, source notes/incident-window.md |
passed; created almanac/pages/incident-window-policy.md, updated almanac/topics.yaml, preserved non-wiki files, and recorded jobs log output |
| Public CLI readback | codealmanac jobs logs ingest-20260629230850-d1048550; codealmanac search deploy; codealmanac show incident-window-policy; codealmanac health --json |
passed; logs were readable, search returned the page, show rendered the page, and health was clean |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply ... --binding rohan-almanac-main |
passed; sent the service-layer/composition-root dogfood note to Discord |
Gates For Slice 59 Real Sync Dogfood#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Initial sync status | service-level temp repo, temp registry, temp Codex transcript home, RunSyncStatusRequest(..., apps=(codex,), quiet=0s) |
passed; scanned 1 transcript and reported sync-dogfood-codex-session ready for lines 1-3 |
| Real sync run | RunSyncRequest(..., apps=(codex,), harness=claude, claim_owner="real-sync-dogfood") |
passed; started ingest-20260629231810-40e74df3, created almanac/pages/sync-workflow.md, and advanced sync-ledger.json to done with line 3 and byte 962 absorbed |
| Repeat skip proof | second RunSyncStatusRequest(..., apps=(codex,), quiet=0s) |
passed; scanned 1 transcript, eligible 0, skipped 1 with reason unchanged |
| Health proof | app.health.check(...) and public codealmanac health --json |
passed; no broken links, dead refs, empty topics, or empty pages |
| Public CLI readback | uv run --project /Users/rohan/Desktop/Projects/codealmanac codealmanac sync status --from codex --quiet 0s; jobs logs; jobs show --json; search sync; show sync-workflow --lead; health --json |
passed; branch-selected CLI saw the skipped transcript, readable job log, readable job record, searchable page, and clean health |
Gates For Slice 60 Serve Browser Proof#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Temp wiki preflight | temp HOME; codealmanac build; codealmanac health --json; codealmanac search auth |
passed; health was clean and search returned auth-flow plus billing-boundary |
| Live server | HOME=/tmp/codealmanac-serve-slice60-Dxi7UN/home uv run --project /Users/rohan/Desktop/Projects/codealmanac codealmanac serve --host 127.0.0.1 --port 49260 |
passed; /api/overview returned 3 pages and 3 topics |
| Browser desktop routes | isolated Chrome profile with BU_CDP_URL=http://127.0.0.1:9224; browser-harness route assertions for /, #/page/auth-flow, #/topic/auth, #/search/auth, and #/file/src/auth/session.py |
passed; all expected headings/content rendered and every route had scrollWidth <= clientWidth |
| Browser mobile route | browser-harness 390x844 viewport on #/page/auth-flow |
passed; page content and file refs rendered with scrollWidth == clientWidth == 390 |
| Cleanup | stopped local server and isolated Chrome session | passed |
Gates For Slice 61 Final Package Rehearsal#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Package build | uv build --out-dir /tmp/codealmanac-release-slice61 |
passed; built codealmanac-0.1.0-py3-none-any.whl and codealmanac-0.1.0.tar.gz |
| Metadata/package-data inspection | stdlib zipfile/tarfile inspection of built artifacts |
passed; README, Apache-2.0 license metadata, license file, console script, server assets, manual files, and prompts were present |
| Python version guard | clean install attempt under Python 3.11.10 | passed; install failed because package requires >=3.12 |
| Clean wheel install | Python 3.12.9 venv install from built wheel | passed; installed codealmanac --help rendered the CLI |
| Clean sdist install | Python 3.12.9 venv install from built sdist | passed; installed codealmanac --help rendered the CLI |
| Installed CLI smoke | both clean installs ran init, search, show, topics, health --json, jobs, sync status, doctor --json, and live serve HTTP checks |
passed; final output was wheel-install: ok and sdist-install: ok |
Gates For Slice 62 Python Release Guide#
| Gate | Command | 2026-06-29 result |
|---|---|---|
| Public contract tests | uv run pytest tests/test_public_contract.py |
passed; release guide and package metadata guards included |
| Package metadata build | uv build --out-dir /tmp/codealmanac-release-slice62 |
passed; built wheel and sdist after removing the superseded license classifier |
| Twine metadata check | uvx twine check /tmp/codealmanac-release-slice62/* |
passed for wheel and sdist |
| Wheel metadata inspection | stdlib zipfile/email.parser over built wheel metadata |
passed; author, SPDX license expression, license file, repository/issues URLs, and classifiers present |
| Full tests | uv run pytest |
240 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 63 Missing Root Hygiene#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Targeted missing-root repros | uv run pytest tests/test_diagnostics.py::test_doctor_does_not_materialize_missing_registered_wiki tests/test_build_workflow.py::test_workspace_registry_reports_and_drops_missing_wikis tests/test_read_model.py::test_search_does_not_materialize_missing_registered_wiki -q |
passed; 3 tests first failed against the old behavior and pass after the marker-based root guard |
| Adjacent read/diagnostic/build tests | uv run pytest tests/test_diagnostics.py tests/test_read_model.py tests/test_build_workflow.py tests/test_cli.py::test_cli_doctor_json_reports_no_wiki tests/test_cli.py::test_cli_list_json_reports_registry_status tests/test_cli.py::test_cli_list_drop_missing_removes_unreachable_wikis -q |
27 passed |
| Live missing-root dogfood | isolated temp HOME; codealmanac init; delete repo/almanac; codealmanac doctor --wiki repo --json; codealmanac list --json |
passed; doctor reported wiki.registered problem with run: codealmanac build, list reported missing_almanac, and repo/almanac was not recreated |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 6 Unit of Work note and why this slice used marker validation instead of adding UoW |
| Full tests | uv run pytest |
242 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 64 README Scaffold Accuracy#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
17 passed; README init scaffold section is guarded separately from runtime state |
| Init scaffold dogfood | isolated temp HOME; temp repo; codealmanac init <repo> --name readme-tree; find <repo> -maxdepth 3 |
passed; init created .gitignore, almanac/README.md, topics.yaml, pages/getting-started.md, and manual docs, not config.toml, jobs/, or index.db |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 2 Repository-pattern note and how it maps to source wiki artifact vs runtime storage |
| Full tests | uv run pytest |
243 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 65 README Quickstart Dogfood#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Quickstart mismatch repro | isolated temp HOME; temp repo; codealmanac init; codealmanac search "auth"; codealmanac search "getting"; codealmanac show getting-started --lead |
passed; search "auth" returned # 0 results, while search "getting" returned getting-started and show --lead rendered # Getting Started |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
18 passed; quickstart section now guards search "getting" and rejects search "auth" |
| Fixed quickstart dogfood | isolated temp HOME; temp repo; codealmanac init; codealmanac search "getting"; codealmanac show getting-started --lead |
passed; search returned getting-started and show rendered # Getting Started |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 4 Service Layer note and how it maps to README quickstart as a public use case |
| Full tests | uv run pytest |
244 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 66 README Lifecycle Source Examples#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| README example parser/source check | uv run python using build_parser() for lifecycle examples and SourcesService.resolve(...) for README.md plus github:pr:123 |
passed; examples parse, README.md resolves as path.file, and github:pr:123 resolves as github.pull_request |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
19 passed |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 3 abstraction note and how it maps to testing README source examples through SourcesService |
| Full tests | uv run pytest |
245 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 67 Next Agent Brief Freshness#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Continuation contract test | uv run pytest tests/test_public_contract.py::test_next_agent_brief_tracks_latest_python_port_slice -q |
1 passed |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
20 passed |
| Focused lint | uv run ruff check tests/test_public_contract.py |
passed |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 4 service-layer testing note and how it maps to the next-agent brief contract |
| Full tests | uv run pytest |
246 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 68 Public Beta Gate Audit#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Audit coverage contract | uv run pytest tests/test_public_contract.py::test_public_beta_gate_audit_covers_release_gate_areas -q |
1 passed |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
21 passed |
| Focused lint | uv run ruff check tests/test_public_contract.py |
passed |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the Chapter 10 commands-vs-events note and how it maps to public beta gate audit coverage |
| Full tests | uv run pytest |
247 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 69 Current Head Package Rehearsal#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Package build | uv build --out-dir /tmp/codealmanac-release-slice69 |
passed; built codealmanac-0.1.0-py3-none-any.whl and codealmanac-0.1.0.tar.gz |
| Twine metadata check | uvx twine check /tmp/codealmanac-release-slice69/* |
passed for wheel and sdist |
| Metadata/package-data inspection | stdlib zipfile/tarfile/email.parser inspection of built artifacts |
passed; README, Apache-2.0 license metadata, license file, server assets, viewer modules, manual docs, and prompt docs present |
| Clean wheel install | uv venv --python 3.12 /tmp/codealmanac-wheel-slice69 then uv pip install --python ... codealmanac-0.1.0-py3-none-any.whl |
passed; installed into CPython 3.12.9 environment |
| Clean sdist install | uv venv --python 3.12 /tmp/codealmanac-sdist-slice69 then uv pip install --python ... codealmanac-0.1.0.tar.gz |
passed; built and installed into CPython 3.12.9 environment |
| Installed CLI smoke | wheel and sdist venvs ran --help, init, search getting, show getting-started --lead, topics, health --json, jobs, sync status --from codex --quiet 0s, doctor --json, and live serve HTTP checks for /api/overview plus /app.js |
passed |
| Installed update check | wheel and sdist venvs ran codealmanac update --check --json |
passed; reported non-editable uv-package update plans |
| Public audit guard | uv run pytest tests/test_public_contract.py -q |
22 passed |
| Focused lint | uv run ruff check tests/test_public_contract.py |
passed |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed; sent the project-structure packaging note and current-head package rehearsal commands |
| Full tests | uv run pytest |
248 passed |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 70 Real Source Shape Dogfood#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Non-toy lifecycle dogfood | real codealmanac ingest with Claude against /tmp/codealmanac-lifecycle-dogfood-slice70-real, using CodeAlmanac source-runtime, filesystem adapter, ingest workflow, prompt, and live-agreement inputs |
passed; created almanac/pages/source-runtime-flow.md, reported run ingest-20260630004924-1039ba82: done, and changed one wiki page |
| Dogfood health/readback | codealmanac health --json, codealmanac jobs logs ingest-20260630004924-1039ba82, codealmanac show source-runtime-flow |
passed; health clean, logs readable, page covered source layers, service ownership, filesystem runtime selection, ingest prompt consumption, and gotchas |
| User-state path focused tests | uv run pytest tests/test_public_contract.py::test_default_user_state_paths_are_product_specific tests/test_cli.py::test_cli_init_creates_wiki_and_prints_name tests/test_config_service.py tests/test_automation_service.py::test_automation_install_plans_sync_and_garden -q |
passed; 8 tests |
| Cosmic note relay | doppler run --project almanac --config dev -- relayforge reply --config ../relayforge/relay.config.json --binding rohan-almanac-main ... |
passed in three messages after a single too-large Discord 400 response |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
passed; 23 tests |
| Full tests | uv run pytest |
passed; 249 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 71 Current Head Package Smoke#
| Gate | Command | 2026-06-30 result |
|---|---|---|
| Package build | uv build --out-dir /tmp/codealmanac-release-slice71 |
passed; built codealmanac-0.1.0-py3-none-any.whl and codealmanac-0.1.0.tar.gz |
| Twine metadata check | uvx twine check /tmp/codealmanac-release-slice71/* |
passed for wheel and sdist |
| Metadata/package-data inspection | stdlib zipfile/tarfile/email.parser inspection of built artifacts |
passed; no missing files; license Apache-2.0; Requires-Python >=3.12; wheel README metadata includes ~/.codealmanac/ |
| Clean wheel install | uv venv --python 3.12 /tmp/codealmanac-wheel-slice71 then uv pip install --python ... codealmanac-0.1.0-py3-none-any.whl |
passed; installed into CPython 3.12.9 environment |
| Clean sdist install | uv venv --python 3.12 /tmp/codealmanac-sdist-slice71 then uv pip install --python ... codealmanac-0.1.0.tar.gz |
passed; built and installed into CPython 3.12.9 environment |
| Installed CLI smoke | wheel and sdist venvs ran --help, init, search getting, show getting-started --lead, topics, health --json, jobs, sync status --from codex --quiet 0s, doctor --json, update --check --json, and live serve HTTP checks for /api/overview plus /assets/viewer/main.js |
passed |
| State path proof | installed init with temp HOME for wheel and sdist |
passed; .codealmanac/registry.json exists and .almanac/registry.json is absent in both temp homes |
| Public contract tests | uv run pytest tests/test_public_contract.py -q |
passed; 23 tests |
| Full tests | uv run pytest |
passed; 249 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 79 Setup/Uninstall Instruction Foundation#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused setup/CLI/architecture/public contract tests | uv run pytest tests/test_setup_service.py tests/test_cli.py tests/test_architecture.py tests/test_public_contract.py |
passed; 79 tests |
| Focused lint | uv run ruff check src/codealmanac/services/setup src/codealmanac/integrations/setup src/codealmanac/app.py src/codealmanac/cli tests/test_setup_service.py tests/test_cli.py tests/test_architecture.py tests/test_public_contract.py |
passed |
| Full tests | uv run pytest |
passed; 281 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Public CLI dogfood | isolated temp HOME; uv run codealmanac setup --yes; rerun setup --yes --target codex; inspect Codex block and Claude import; uv run codealmanac uninstall --yes; inspect removal |
passed; setup installed Codex and Claude artifacts, rerun was idempotent for Codex, uninstall removed setup-owned artifacts |
| Package resource proof | uv build --out-dir <tmp> and stdlib zipfile inspection |
passed; wheel contains codealmanac/services/setup/agent-guide.md |
Gates For Slice 80 Setup Terminal Renderer#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused setup CLI/render tests | uv run pytest tests/test_cli.py tests/test_architecture.py tests/test_public_contract.py |
passed; 74 tests |
| Focused lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_architecture.py tests/test_public_contract.py |
passed |
| Full tests | uv run pytest |
passed; 282 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Public CLI dogfood | isolated temp HOME; uv run codealmanac setup --yes --target codex; uv run codealmanac uninstall --yes --target codex |
passed; setup and uninstall rendered Rich panels and completed against temp-home artifacts |
| Package metadata proof | uv build --out-dir <tmp> and stdlib wheel metadata inspection |
passed; wheel metadata includes Requires-Dist: rich>=15.0.0 |
Gates For Slice 81 Multi-Wiki Serve#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused viewer/server tests | uv run pytest tests/test_viewer_service.py tests/test_server.py |
passed; 13 tests |
| Focused lint | uv run ruff check src/codealmanac/services/viewer src/codealmanac/server tests/test_viewer_service.py tests/test_server.py |
passed |
| Focused database/viewer/server tests | uv run pytest tests/test_database.py tests/test_viewer_service.py tests/test_server.py |
passed; 16 tests |
| Focused database/viewer/server lint | uv run ruff check src/codealmanac/database src/codealmanac/services/viewer src/codealmanac/server tests/test_database.py tests/test_viewer_service.py tests/test_server.py |
passed |
| Full tests | uv run pytest |
passed; 285 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| Public contract rerun | uv run pytest tests/test_public_contract.py -q after docs updates |
passed; 24 tests |
| Live multi-wiki serve dogfood | temp HOME; two temp repos; live codealmanac serve; concurrent curl /api/overview, /api/overview?wiki=wiki-b, and /api/page/getting-started?wiki=wiki-b; live serve --wiki wiki-b overview |
passed; default overview listed wiki-a and wiki-b, selected route returned wiki-b, concurrent first reads no longer hit SQLite lock after busy-timeout patch, and locked serve exposed only wiki-b |
| Browser-harness serve dogfood | live temp serve; browser-harness screenshot and DOM check; select switched from wiki-a to wiki-b |
passed; switcher listed both wikis, switch event updated selected wiki and page stats, and desktop overflow check stayed false |
| Package asset proof | uv build --wheel --no-build-logs --out-dir <tmp> and stdlib wheel inspection |
passed; wheel includes updated viewer HTML, CSS, API module, and main module |
Gates For Slice 83 Codex App-Server Harness#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused Codex app-server harness tests | uv run pytest tests/test_codex_adapter.py tests/test_codex_app_server_adapter.py |
passed; 11 tests |
| Focused architecture/harness tests | uv run pytest tests/test_codex_adapter.py tests/test_codex_app_server_adapter.py tests/test_harnesses_service.py tests/test_architecture.py |
passed; 31 tests |
| Focused Codex lint | uv run ruff check src/codealmanac/integrations/harnesses/codex tests/test_codex_adapter.py tests/test_codex_app_server_adapter.py |
passed |
| Fake app-server protocol dogfood | in-process fake Codex executable used through CodexAppServerClient |
passed; verified handshake shape, mcp_servers={}, internal-session env, ephemeral thread, no network, approval/user-input refusal, token-refresh error, base64 output decoding, usage, root/helper events, startup timeout, and turn timeout |
| Full tests | uv run pytest |
passed; 290 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 101 Codex App-Server Client Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused Codex app-server/client tests | uv run pytest tests/test_codex_app_server_adapter.py tests/test_codex_adapter.py tests/test_architecture.py |
passed; 36 tests |
| Focused Codex lint | uv run ruff check src/codealmanac/integrations/harnesses/codex tests/test_codex_app_server_adapter.py tests/test_codex_adapter.py tests/test_architecture.py |
passed |
| Fake app-server client dogfood | temporary fake Codex executable used through CodexAppServerClient |
passed; produced provider-session, tool, text, usage, and done events |
| Full tests | uv run pytest |
passed; 324 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 102 Index Store Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused architecture/read-model tests | uv run pytest tests/test_public_contract.py::test_next_agent_brief_tracks_latest_python_port_slice tests/test_architecture.py::test_index_store_keeps_write_side_responsibilities_split tests/test_read_model.py::test_ensure_fresh_skips_unchanged_projection_and_refreshes_edits tests/test_read_model.py::test_reindex_forces_projection_rebuild_when_index_is_fresh -q |
passed; 4 tests |
| Focused index lint | uv run ruff check src/codealmanac/services/index tests/test_architecture.py |
passed |
| Public CLI dogfood | isolated temp HOME; temp repo; codealmanac init; create page; search originalneedle; edit page; search changedneedle |
passed; both searches returned slice-102-dogfood through implicit index refresh |
| Full tests | uv run pytest |
passed; 325 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 103 Sync Policy Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused sync/architecture tests | uv run pytest tests/test_sync_workflow.py::test_sync_status_reports_ready_transcript_ranges tests/test_sync_workflow.py::test_sync_run_ingests_ready_transcripts_and_advances_ledger tests/test_sync_workflow.py::test_sync_background_queues_ingest_and_leaves_pending_claim tests/test_sync_workflow.py::test_sync_run_reconciles_done_pending_run_before_new_work tests/test_architecture.py::test_sync_workflow_policy_stays_out_of_service_orchestration -q |
passed; 5 tests |
| Focused sync lint | uv run ruff check src/codealmanac/workflows/sync tests/test_architecture.py |
passed |
| Public CLI dogfood | isolated temp HOME; temp repo; codealmanac init; temp Codex transcript under .codex/sessions; codealmanac sync --quiet 1s --from codex status --json |
passed; JSON reported scanned 1, eligible 1, ready codex-sync-103 lines 1-1 |
| Full tests | uv run pytest |
passed; 325 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 104 GitHub Source Runtime Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused GitHub runtime/ingest/architecture tests | uv run pytest tests/test_github_source_runtime.py tests/test_ingest_workflow.py::test_ingest_prompt_includes_github_source_runtime tests/test_architecture.py::test_github_source_runtime_stays_split_by_responsibility -q |
passed; 5 tests |
| Focused GitHub lint | uv run ruff check src/codealmanac/integrations/sources/github tests/test_architecture.py tests/test_github_source_runtime.py tests/test_ingest_workflow.py |
passed |
| Fake-runner source-runtime dogfood | uv run python resolving and inspecting https://github.com/acme/project/pull/42 through GitHubSourceRuntimeAdapter with fake gh output |
passed; rendered title, file, comment, review, and diff material through 2 fake gh calls |
| Full tests | uv run pytest |
passed; 326 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 105 Transcript Source Runtime Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused transcript runtime/sync/architecture tests | uv run pytest tests/test_transcript_source_runtime.py tests/test_sync_workflow.py::test_sync_run_ingests_ready_transcripts_and_advances_ledger tests/test_architecture.py::test_transcript_source_runtime_stays_split_by_responsibility -q |
passed; 6 tests |
| Focused transcript lint | uv run ruff check src/codealmanac/integrations/sources/transcripts tests/test_architecture.py tests/test_transcript_source_runtime.py tests/test_sync_workflow.py tests/test_ingest_workflow.py |
passed |
| Service-level transcript runtime dogfood | temp app-service source runtime inspection for Codex and Claude shaped JSONL through TranscriptSourceRuntimeAdapter |
passed; rendered Codex user/tool material and Claude session/user material |
| Full tests | uv run pytest |
passed; 327 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 106 Source Address Resolution Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused source service/runtime/architecture tests | uv run pytest tests/test_sources_service.py tests/test_github_source_runtime.py tests/test_transcript_source_runtime.py tests/test_architecture.py::test_sources_service_stays_orchestration_only -q |
passed; 14 tests |
| Focused source lint | uv run ruff check src/codealmanac/services/sources tests/test_sources_service.py tests/test_architecture.py |
passed |
| Service-level source-resolution dogfood | temp app-service sources.resolve(...) over file, directory, missing path, GitHub shorthand, GitHub URL, web URL, git range, git diff, and transcript refs |
passed; returned the expected nine SourceKind values and file fingerprint |
| Full tests | uv run pytest |
passed; 328 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 107 CLI Render Facade Split#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused CLI/render architecture tests | uv run pytest tests/test_cli.py tests/test_architecture.py::test_cli_render_root_stays_facade tests/test_architecture.py::test_cli_has_separate_parser_dispatch_and_render_packages tests/test_architecture.py::test_cli_dispatch_edge_is_split_by_command_domain -q |
passed; 39 tests |
| Focused CLI lint | uv run ruff check src/codealmanac/cli tests/test_cli.py tests/test_architecture.py |
passed |
| Public CLI dogfood | isolated temp HOME; temp repo; codealmanac --help, codealmanac init, codealmanac list --json, and empty codealmanac search |
passed; list JSON remained an array and empty search wrote # 0 results to stderr |
| Full tests | uv run pytest |
passed; 329 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 108 Filesystem Listing Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused filesystem listing tests | uv run pytest tests/test_filesystem_source_runtime.py tests/test_filesystem_directory_selection.py tests/test_architecture.py::test_filesystem_source_runtime_stays_split_by_responsibility -q |
passed; 22 tests |
| Focused filesystem lint | uv run ruff check src/codealmanac/integrations/sources/filesystem tests/test_filesystem_source_runtime.py tests/test_filesystem_directory_selection.py tests/test_architecture.py |
passed |
| Service-level filesystem dogfood | temp app-service directory runtime through FilesystemSourceRuntimeAdapter with .gitignore and configured Almanac-root ignore |
passed; rendered Directory ., src/service.py, and excluded ignored wiki/material paths |
| Full tests | uv run pytest |
passed; 330 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 109 Sync Execution Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused sync execution tests | uv run pytest tests/test_sync_workflow.py::test_sync_run_ingests_ready_transcripts_and_advances_ledger tests/test_sync_workflow.py::test_sync_background_queues_ingest_and_leaves_pending_claim tests/test_sync_workflow.py::test_sync_background_spawn_failure_marks_run_and_ledger_failed tests/test_sync_workflow.py::test_sync_run_records_failed_attempt_after_ingest_failure tests/test_sync_workflow.py::test_sync_run_writes_pending_claim_before_ingest tests/test_architecture.py::test_sync_execution_effects_stay_out_of_service_orchestration -q |
passed; 6 tests |
| Focused sync lint | uv run ruff check src/codealmanac/workflows/sync tests/test_sync_workflow.py tests/test_architecture.py |
passed |
| Public sync-status dogfood | isolated temp HOME; temp repo; old synthetic Codex transcript; codealmanac sync --quiet 1s --from codex status --json |
passed; JSON reported scanned 1, eligible 1, ready sync-109 lines 1-2 |
| Full tests | uv run pytest |
passed; 331 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 84 Claude SDK Harness#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused Claude SDK harness tests | uv run pytest tests/test_claude_adapter.py |
passed; 9 tests |
| Focused neighboring harness/workflow tests | uv run pytest tests/test_harnesses_service.py tests/test_ingest_workflow.py::test_ingest_workflow_records_normalized_harness_events tests/test_codex_adapter.py tests/test_codex_app_server_adapter.py |
passed; 16 tests |
| Focused Claude lint | uv run ruff check src/codealmanac/integrations/harnesses/claude tests/test_claude_adapter.py |
passed |
| Fake SDK stream dogfood | ClaudeSdkClient driven by typed claude-agent-sdk dataclass messages in tests |
passed; verified SDK option isolation, provider session, text delta, assistant text, tool use/result, helper agent trace, usage, done, failure, timeout, and app wiring |
| Full tests before docs freshness update | uv run pytest |
failed only because docs/python-port/next-agent-brief.md still reported slice 83 as latest; 291 tests passed before the public-contract freshness assertion |
| Public contract rerun | uv run pytest tests/test_public_contract.py |
passed; 24 tests |
| Full tests | uv run pytest |
passed; 292 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
| CLI import smoke | uv run codealmanac --help |
passed; command list rendered with lifecycle, read, setup, jobs, and automation verbs |
Gates For Slice 88 Setup Automation Docs#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused public docs contract | uv run pytest tests/test_public_contract.py |
passed; 24 tests |
| README command parse proof | build_parser().parse_args(...) for the new setup/uninstall examples |
passed; parsed 4 commands |
| Full tests | uv run pytest |
passed; 299 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 89 Serve Jobs View#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused viewer/server/architecture tests | uv run pytest tests/test_viewer_service.py tests/test_server.py tests/test_architecture.py::test_viewer_jobs_surface_stays_read_only |
passed; 18 tests |
| Focused lint | uv run ruff check src/codealmanac/app.py src/codealmanac/services/viewer src/codealmanac/server tests/test_viewer_service.py tests/test_server.py tests/test_architecture.py |
passed |
| ES module syntax | node --input-type=module --check < ... for changed viewer modules |
passed |
| Live serve jobs dogfood | temp repo, synthetic run log, current-checkout codealmanac serve, curl /api/jobs, curl /api/jobs/{run_id}, browser-harness #/jobs and #/jobs/{run_id} |
passed; API returned the run and normalized harness_event, browser rendered list/detail without desktop overflow |
| Package asset proof | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice89 plus stdlib wheel inspection |
passed; wheel includes codealmanac/server/assets/viewer/jobs.js |
| Full tests | uv run pytest |
passed; 304 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 90 Harness Event Rendering#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused server/static tests | uv run pytest tests/test_server.py |
passed; 8 tests |
| Focused lint | uv run ruff check tests/test_server.py |
passed |
| ES module syntax | node --input-type=module --check < src/codealmanac/server/assets/viewer/jobs.js and main.js |
passed |
| Browser harness-event dogfood | temp repo, synthetic run with tool display/usage/failure/agent trace harness events, current-checkout serve, browser-harness #/jobs/{run_id} |
passed; structured fields rendered, raw payload label absent, no desktop overflow |
| Package asset proof | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice90 plus stdlib wheel inspection |
passed; wheel jobs renderer contains tool/usage/failure/agent trace fragments |
| Full tests | uv run pytest |
passed; 304 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 91 Serve Job Polling#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused server/static/architecture tests | uv run pytest tests/test_server.py tests/test_architecture.py::test_viewer_jobs_surface_stays_read_only |
passed; 9 tests |
| Focused Python lint | uv run ruff check tests/test_server.py tests/test_architecture.py |
passed |
| ES module syntax | node --input-type=module --check < src/codealmanac/server/assets/viewer/jobs.js and main.js |
passed |
| Browser polling dogfood | temp repo, isolated HOME, current-checkout codealmanac serve, browser-harness #/jobs/<run-id>, then RunsService.finish(...) |
passed; page moved from ingest · running to ingest · done without manual refresh |
| Package asset proof | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice91 plus stdlib wheel inspection |
passed; wheel jobs/main modules include clearJobPolling and setTimeout |
| Full tests before brief update | uv run pytest |
failed only because next-agent-brief.md still reported slice 90 as latest; 303 tests passed |
| Full tests | uv run pytest |
passed; 304 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 92 Shared Run ID Validation#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused validation tests | uv run pytest tests/test_runs_service.py::test_run_id_requests_reject_path_shaped_identifiers tests/test_runs_service.py::test_run_records_and_events_reject_unsafe_run_ids tests/test_runs_service.py::test_run_store_rejects_unsafe_run_ids_before_path_access tests/test_viewer_service.py::test_viewer_job_request_rejects_path_shaped_run_ids tests/test_server.py::test_server_rejects_path_shaped_job_ids tests/test_cli.py::test_cli_jobs_rejects_path_shaped_run_ids tests/test_architecture.py::test_run_id_validation_is_owned_by_runs_models |
passed; 7 tests |
| Focused lint | uv run ruff check src/codealmanac/services/runs src/codealmanac/services/viewer/requests.py src/codealmanac/workflows/ingest/requests.py src/codealmanac/workflows/garden/requests.py src/codealmanac/workflows/page_run tests/test_runs_service.py tests/test_viewer_service.py tests/test_server.py tests/test_cli.py tests/test_architecture.py |
passed |
| CLI invalid-id dogfood | isolated temp HOME and initialized repo; codealmanac jobs show ../secret; codealmanac jobs logs run.json |
passed; both exited 1 with Pydantic pattern validation and no almanac/jobs/ files were created |
| Full tests | uv run pytest |
passed; 309 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 93 GitHub Python Automation#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused public contract before steering updates | uv run pytest tests/test_public_contract.py |
failed only because next-agent-brief.md still reported slice 92 as latest; 25 tests passed |
| Focused public contract | uv run pytest tests/test_public_contract.py |
passed; 26 tests |
| Focused lint | uv run ruff check tests/test_public_contract.py |
passed |
| GitHub stale-surface search | rg -n "npm|npx|Node|NPM|package-lock|actions/setup-node" .github |
passed; no matches |
| Package build dogfood | uv build --wheel --no-build-logs --out-dir /tmp/codealmanac-build-slice93 |
passed; wheel built without relying on editable checkout state |
| Build artifact ignore proof | git check-ignore build/ |
passed; build/ is ignored |
| Full tests | uv run pytest |
passed; 311 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 94 GitHub Contract Proof#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Exact CI sync command | uv sync --locked |
passed |
| Focused public contract before steering updates | uv run pytest tests/test_public_contract.py |
failed only because next-agent-brief.md still reported slice 93 as latest; 26 tests passed |
| Focused public contract | uv run pytest tests/test_public_contract.py |
passed; 27 tests |
| Focused lint | uv run ruff check tests/test_public_contract.py |
passed |
| GitHub stale-surface search | rg -n "expected Almanac to do|npm|npx|Node|NPM|package-lock|actions/setup-node" .github |
passed; no matches |
| Full tests | uv run pytest |
passed; 312 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 110 Viewer Service Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused viewer/server/architecture tests | uv run pytest tests/test_viewer_service.py tests/test_server.py tests/test_architecture.py::test_viewer_service_keeps_scope_and_projection_boundaries -q |
passed; 18 tests |
| Focused lint | uv run ruff check src/codealmanac/services/viewer src/codealmanac/server tests/test_viewer_service.py tests/test_server.py tests/test_architecture.py |
passed |
| Live serve multi-wiki API dogfood | temp HOME, two initialized repos, current-checkout codealmanac serve, curl /api/overview, curl /api/overview?wiki=<beta-id> |
passed; default overview listed alpha and beta, selected overview returned beta-note |
| Full tests | uv run pytest |
passed; 332 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 111 Web Source Runtime Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused web runtime and architecture tests | uv run pytest tests/test_web_source_runtime.py tests/test_ingest_workflow.py::test_ingest_prompt_includes_web_source_runtime tests/test_architecture.py::test_web_source_runtime_stays_split_by_responsibility -q |
passed; 7 tests |
| Focused lint | uv run ruff check src/codealmanac/integrations/sources/web tests/test_web_source_runtime.py tests/test_ingest_workflow.py tests/test_architecture.py |
passed |
| Service-level web runtime dogfood | uv run python - <<'PY' ... with WebSourceRuntimeAdapter, httpx.MockTransport, SourcesService.resolve, and SourcesService.inspect_runtime |
passed; HTML title/content extracted and script text removed |
| Full tests | uv run pytest |
passed; 333 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 112 Workspace Service Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused workspace/build/read-model/architecture tests | uv run pytest tests/test_build_workflow.py tests/test_workspace_registry_store.py tests/test_read_model.py tests/test_architecture.py::test_workspace_service_keeps_identity_selection_and_status_boundaries -q |
passed; 25 tests |
| Focused lint | uv run ruff check src/codealmanac/services/workspaces tests/test_build_workflow.py tests/test_workspace_registry_store.py tests/test_read_model.py tests/test_architecture.py |
passed |
| Service-level workspace dogfood | uv run python - <<'PY' ... with isolated registry, configured-root init, relative-path select, path validation, drop-missing, and explicit drop |
passed |
| Full tests | uv run pytest |
passed; 334 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 113 Harness Contract Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused harness/event/architecture tests | uv run pytest tests/test_harnesses_service.py tests/test_ingest_workflow.py::test_ingest_workflow_records_normalized_harness_events tests/test_runs_service.py::test_runs_service_records_job_and_events tests/test_codex_app_server_adapter.py tests/test_claude_adapter.py tests/test_architecture.py::test_harness_contract_models_stay_split_by_meaning -q |
passed; 22 tests |
| Focused lint | uv run ruff check src/codealmanac/services/harnesses tests/test_harnesses_service.py tests/test_ingest_workflow.py tests/test_runs_service.py tests/test_codex_app_server_adapter.py tests/test_claude_adapter.py tests/test_architecture.py |
passed |
| Service-level harness contract dogfood | uv run python - <<'PY' ... with isolated registry, build initialization, new-module HarnessEvent, facade HarnessEvent.model_validate(...), run-log persistence, and log readback |
passed |
| Full tests | uv run pytest |
passed; 335 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 114 Diagnostics Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused diagnostics/CLI/architecture tests | uv run pytest tests/test_diagnostics.py tests/test_cli.py::test_cli_doctor_json_reports_no_wiki tests/test_cli.py::test_cli_doctor_reports_manual_drift tests/test_architecture.py::test_diagnostics_service_stays_facade -q |
passed; 8 tests |
| Focused lint | uv run ruff check src/codealmanac/services/diagnostics tests/test_diagnostics.py tests/test_cli.py tests/test_architecture.py |
passed |
| Isolated CLI doctor dogfood | temp HOME and repo; codealmanac doctor --json; codealmanac init <repo> --name doctor-dogfood; codealmanac doctor --wiki doctor-dogfood --json |
passed; no-wiki reported wiki.none, initialized wiki reported registered/index/manual/health OK |
| Full tests | uv run pytest |
passed; 336 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 127 Page Archive Lineage Removal#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused parsing/CLI/index architecture tests | uv run pytest tests/test_wiki_parsing.py tests/test_cli.py::test_cli_search_and_show_read_current_repo_wiki tests/test_cli.py::test_cli_search_rejects_removed_archive_flags tests/test_architecture.py::test_active_python_model_has_no_page_archive_lineage tests/test_architecture.py::test_index_read_views_are_separate_from_projection_writes tests/test_architecture.py::test_index_read_views_are_split_by_query_family tests/test_architecture.py::test_index_store_keeps_write_side_responsibilities_split |
passed; 12 tests |
| Broader touched-surface tests | uv run pytest tests/test_wiki_parsing.py tests/test_cli.py tests/test_read_model.py tests/test_viewer_service.py tests/test_server.py tests/test_runs_service.py tests/test_architecture.py -q |
passed; 129 tests |
| Focused lint | uv run ruff check src/codealmanac tests/test_wiki_parsing.py tests/test_cli.py tests/test_read_model.py tests/test_viewer_service.py tests/test_server.py tests/test_runs_service.py tests/test_architecture.py |
passed |
| Public-contract freshness | uv run pytest tests/test_public_contract.py |
passed; 27 tests |
| Isolated CLI dogfood | temp HOME and repo with obsolete archived_at / superseded_by frontmatter; codealmanac build, search login, show auth-flow --json, health --json, and rejected search --archived |
passed; obsolete keys stayed out of JSON output and removed flag failed |
| Full tests | uv run pytest |
passed; 347 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 128 Workspace Root Resolution#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused workspace/read/discovery tests | uv run pytest tests/test_build_workflow.py tests/test_cli.py::test_cli_search_and_show_read_current_repo_wiki tests/test_read_model.py tests/test_transcript_discovery.py tests/test_sync_workflow.py::test_sync_status_reports_ready_transcript_ranges tests/test_sync_workflow.py::test_sync_status_passes_configured_roots_to_discovery -q |
passed; 31 tests |
| Focused lint | uv run ruff check src/codealmanac/services/workspaces tests/test_build_workflow.py tests/test_sync_workflow.py |
passed |
| Real checkout wiki dogfood | uv run codealmanac search "topic service" with broad /Users/rohan/Desktop/Projects registry entry present |
passed; resolved this repo's .almanac/ and returned wiki pages |
| Full tests | uv run pytest |
passed; 349 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 129 Index Health View Boundaries#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused health and architecture tests | uv run pytest tests/test_topics_health.py tests/test_build_workflow.py::test_initialize_starter_wiki_has_no_health_noise tests/test_garden_workflow.py tests/test_architecture.py::test_index_read_views_are_separate_from_projection_writes tests/test_architecture.py::test_index_read_views_are_split_by_query_family -q |
passed; 10 tests |
| Focused lint | uv run ruff check src/codealmanac/services/index tests/test_topics_health.py tests/test_architecture.py |
passed |
| Real checkout health dogfood | uv run codealmanac health --json |
passed; returned existing issue counts through the split health views |
| Full tests | uv run pytest |
passed; 349 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 136 Real Codex App-Server Dogfood#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Focused Codex app-server regression | uv run pytest tests/test_codex_app_server_adapter.py tests/test_codex_adapter.py |
passed; 11 tests. Fake app-server now emits a whitespace-only item/agentMessage/delta before a real text delta, and the expected normalized events stay unchanged. |
| Focused lint | uv run ruff check src/codealmanac/integrations/harnesses/codex/events.py tests/test_codex_app_server_adapter.py |
passed |
| First real Codex app-server dogfood | service-level create_app(AppConfig(registry_path=<tmp>)) with real HOME/Codex auth, temp Git repo, and IngestWorkflow using HarnessKind.CODEX |
failed productively; real app-server emitted a whitespace-only text delta, which violated HarnessEvent.message non-empty validation. |
| Real Codex app-server rerun | same service-level dogfood after blank-delta filtering | passed; repo /var/folders/v2/f289rp_d0_118wk72xtvtp5r0000gn/T/codealmanac-real-codex-yyd0gccs/repo, run ingest-20260701163042-e849c0e6, status done, created webhook-idempotency-invariant.md, search for webhook returned the page, and health counts were all zero. |
| Full tests | uv run pytest |
passed; 353 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 137 Real Claude SDK Dogfood#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| Real Claude SDK dogfood | service-level create_app(AppConfig(registry_path=<tmp>)) with real HOME/Claude auth, temp Git repo, and IngestWorkflow using HarnessKind.CLAUDE |
passed; repo /var/folders/v2/f289rp_d0_118wk72xtvtp5r0000gn/T/codealmanac-real-claude-s3_gt7ls/repo, run ingest-20260701163930-cf193a0e, status done, harness status succeeded, created release-package-smoke.md, search returned release-package-smoke, and health counts were all zero. |
| Normalized event proof | run log inspection from the same service-level dogfood | passed; 73 run events with normalized harness kinds provider_session, text, text_delta, tool_use, tool_result, context_usage, warning, and done. |
| Focused Claude/public-contract tests | uv run pytest tests/test_claude_adapter.py tests/test_public_contract.py |
passed; 36 tests |
| Full tests | uv run pytest |
passed; 353 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |
Gates For Slice 138 Current Head Release Smoke#
| Gate | Command | 2026-07-01 result |
|---|---|---|
| First full tests after adding slice plan | uv run pytest |
failed productively; 352 passed and test_next_agent_brief_tracks_latest_python_port_slice failed because the new slice 138 plan existed before next-agent-brief.md named slice 138 as latest. |
| Artifact build | rm -rf /tmp/codealmanac-release-slice138 ... && uv build --out-dir /tmp/codealmanac-release-slice138 |
passed; built codealmanac-0.1.0.dev0-py3-none-any.whl and codealmanac-0.1.0.dev0.tar.gz. |
| Twine artifact validation | uvx twine check /tmp/codealmanac-release-slice138/* |
passed for wheel and sdist. |
| Artifact inspection and installed smoke | uv run python <artifact inspection and installed CLI smoke> |
passed after aligning smoke assertions to current JSON contracts. Wheel and sdist installed into clean uv-managed Python 3.12.9 environments, ran init/read/health/jobs/sync status/doctor/update/serve, returned getting-started, health total 0, sync ready 0, update status ready, serve page_count: 1, and registry state under isolated ~/.codealmanac/. |
| Focused public-contract freshness | uv run pytest tests/test_public_contract.py |
passed; 27 tests |
| Full tests | uv run pytest |
passed; 353 tests |
| Full lint | uv run ruff check . |
passed |
| Diff hygiene | git diff --check |
passed |