|
1 | 1 | # ActiveBlockference TODO |
2 | 2 |
|
3 | 3 | Owner: Active Inference Institute |
4 | | -Status: all scoped roadmap items closed (release gate green on this interpreter) |
5 | | -Last reviewed: 2026-08-01 |
6 | | - |
7 | | -This file is the forward-looking execution source of truth. The prior |
8 | | -hardening, release-contract, and refinement work is intentionally absent; an |
9 | | -item belongs here only when implementation, tests, documentation, generated |
10 | | -artifacts, or verification still remains. |
11 | | - |
12 | | -## Completed / Closed (completion pass of 2026-08-01) |
13 | | - |
14 | | -The following roadmap items were fully implemented in source, tests, docs, |
15 | | -manuscript, and CI this pass, and are closed. |
16 | | - |
17 | | -### Cross-interpreter + clean-install release verification (P0) |
18 | | -- [x] CI matrix already runs the canonical release gate on Python 3.10, 3.11, |
19 | | - and 3.12; added a mypy `--python-version 3.10` type-check step. |
20 | | -- [x] Added deliberately interrupted / partial-tree and reused-run tests so |
21 | | - stale manifests, partial trees, and old validation reports can never |
22 | | - yield a passing release verdict. |
23 | | -- [x] Clean wheel-install smoke (import + quick start without the optional |
24 | | - `pymdp` extra) is exercised by `scripts/release_check.py` and CI. |
25 | | - |
26 | | -### Atomic publication across all artefact types (P1) |
27 | | -- [x] JSON, config, CSV, NPZ, per-step, manifest, and every render (PNG/GIF) |
28 | | - are now published atomically through a sibling temporary file + rename; |
29 | | - a leftover temp file fails validation as drift. `run.log` remains |
30 | | - append-only (a live log cannot be atomic, per the contract). |
31 | | -- [x] Added interruption tests: a failed writer leaves the previous file and |
32 | | - cleans its temp; a partial tree and a stale temp file both fail closed. |
33 | | - |
34 | | -### `validate_run_outputs` stage split (P1) |
35 | | -- [x] Split the monolith into focused public stage validators |
36 | | - (tree structure, artifact presence, config, trajectory, model, manifest, |
37 | | - policies, per-step, and config↔trajectory / config↔model agreement) with |
38 | | - `validate_run_outputs` as a thin fail-closed aggregator. |
39 | | - |
40 | | -### Normalized typed trajectory schema (P1) |
41 | | -- [x] Added `blockference.io.parse_trajectory_records` returning typed, |
42 | | - deterministically ordered `TrajectoryRecord` values; backend (radCAD vs |
43 | | - cadCAD) parity and persistence round-trips now compare bytes-as-values. |
44 | | - |
45 | | -### Formalized step/update protocol + 3.10 type check (P1) |
46 | | -- [x] Added `CoreAgentUpdate` required-keys TypedDict and `CORE_UPDATE_FIELDS` / |
47 | | - `validate_update_envelope`; all adapters emit the same ten-field envelope |
48 | | - and are validated fail-closed. Mypy now checks 3.10-compatible stubs in CI. |
49 | | - |
50 | | -### Grid index / transition optimization (P1) |
51 | | -- [x] `ActiveGridference` uses a precomputed coordinate→index dict (O(1) lookup) |
52 | | - instead of repeated `list.index` scans, with a brute-force parity test |
53 | | - proving exact matrix and coordinate-index agreement. |
54 | | - |
55 | | -### Publication drift baseline gate (P1) |
56 | | -- [x] `build_manuscript.py --check` now regenerates figures into a temp dir and |
57 | | - compares bytes against the committed figures (checkout-independent), in |
58 | | - addition to the manuscript-text diff in `release_check.py`. |
59 | | - |
60 | | -### Generic discrete-environment protocol (P2) |
61 | | -- [x] Added the `blockference.envs.DiscreteEnvironment` runtime-checkable |
62 | | - protocol (state identity, observations, actions, collisions, |
63 | | - stochasticity, serialization); `GridWorld` conforms and adds lossless |
64 | | - `serialize()` / `load()`. |
65 | | - |
66 | | -### Scientific-adequacy claims kept out of the software verdict (P2) |
67 | | -- [x] README, `docs/pipeline.md`, `docs/design-contract.md`, and the manuscript |
68 | | - now state explicitly that `ValidationReport.ok` / `PipelineResult.ok` |
69 | | - certify software and artefact integrity only, never empirical adequacy. |
70 | | - |
71 | | -### Multi-agent start correctness (Minor/Medium hardening) |
72 | | -- [x] A multi-agent run without distinct `simulation.initial_states` now fails |
73 | | - fast with an explicit error instead of crashing inside a simulation |
74 | | - backend; README, `docs/api.md`, `docs/pipeline.md`, `docs/migration-v1.md`, |
75 | | - the manuscript, and the example configs were corrected. |
76 | | -- [x] Added request timeout to the OpenAI GRTs provider (default 60 s). |
77 | | - |
78 | | -## Forward-looking (not started) |
79 | | - |
80 | | -- [ ] Nothing scoped. Future work (additional environments, stochastic |
81 | | - transitions, learned `A`/`B`/`C`, factored state spaces, larger policy |
82 | | - search, network-backed research, and any empirical scientific-adequacy |
83 | | - claim) must enter as its own validated contract with independent |
84 | | - provenance and sensitivity analyses, per the design contract. |
85 | | - |
86 | | -## Exit criteria (all currently met on this interpreter; CI confirms 3.10/3.11/3.12) |
87 | | - |
88 | | -- [x] The canonical release gate passes on all supported Python versions (CI). |
89 | | -- [x] A clean wheel install runs the documented quick start without `pymdp` and |
90 | | - the optional adapter fails with its documented installation message. |
91 | | -- [x] A fresh and an interrupted run both validate fail-closed, with exact |
92 | | - agreement among JSON, NPZ, CSV, summary, manifest, renders, and report. |
93 | | -- [x] All tracked notebooks and the manuscript pass their mandatory gates; |
94 | | - optional renderers pass when present. |
95 | | -- [x] `ValidationReport.ok` and `PipelineResult.ok` remain the only release |
96 | | - verdicts as future environments and research workflows are added. |
| 4 | +Last reviewed: 2026-08-02 |
| 5 | + |
| 6 | +This file records documentation findings from the 2026-08-02 DOCS-DEEP pass. |
| 7 | +Items are grouped by the size of the documentation change required: |
| 8 | + |
| 9 | +* **Minor** — typo, broken link, stale path, or formatting correction. |
| 10 | +* **Medium** — stale section rewrite, documentation restructure, or missing guide. |
| 11 | +* **Major** — large documentation-system overhaul or cross-cutting refactor. |
| 12 | + |
| 13 | +## Minor |
| 14 | + |
| 15 | +- [x] Fix four broken repository-root links in `tests/envs/README.md` and |
| 16 | + `tests/utils/README.md`. (commit: pending) |
| 17 | +- [x] Replace the nonexistent `tests/test_config.py` reference in |
| 18 | + `configs/AGENTS.md` with the current test-file convention. (commit: pending) |
| 19 | +- [x] Correct the generated-manuscript path in the `scripts/build_manuscript.py` |
| 20 | + module documentation. (commit: pending) |
| 21 | +- [x] Link the root README to the documentation index and MIT license. |
| 22 | + (commit: pending) |
| 23 | + |
| 24 | +## Medium |
| 25 | + |
| 26 | +- [x] Correct the root README Python example so its two-agent configuration |
| 27 | + supplies distinct `simulation.initial_states` and executes under the |
| 28 | + current validation contract. (commit: pending) |
| 29 | +- [x] Expand `docs/README.md` into a usable documentation index covering |
| 30 | + concepts, tutorials, development, configuration, notebooks, and the |
| 31 | + manuscript source. (commit: pending) |
| 32 | +- [x] Rewrite the three tutorials as short runnable stories with prerequisites, |
| 33 | + current API/CLI examples, assertions or validation steps, and next steps. |
| 34 | + (commit: pending) |
| 35 | +- [x] Remove the nonexistent PR-template claim from `docs/contributing.md` and |
| 36 | + describe the actual pull-request information expected. (commit: pending) |
| 37 | + |
| 38 | +## Major |
| 39 | + |
| 40 | +No major documentation-system overhaul was identified. The repository already |
| 41 | +has a coherent root/docs/manuscript structure, local contributor guidance, and |
| 42 | +an executable publication validator. |
| 43 | + |
| 44 | +## Open / deferred |
| 45 | + |
| 46 | +- [ ] Add automated Markdown link and anchor validation to CI. Deferred because |
| 47 | + the repository currently has no Markdown tooling dependency or CI command; |
| 48 | + the pass used a repo-wide audit script without introducing a heavyweight |
| 49 | + documentation toolchain. |
| 50 | +- [ ] Add a dedicated `SECURITY.md` policy. Deferred because no security-reporting |
| 51 | + channel or policy owner is defined in the repository metadata; adding one |
| 52 | + would require an organization-level decision rather than inventing contact |
| 53 | + details. |
| 54 | + |
| 55 | +## Verification notes |
| 56 | + |
| 57 | +The pass verified the documented single-agent and multi-agent Python examples, |
| 58 | +the `docs/api.md` pipeline example, the tutorial snippets, `uv run ruff check |
| 59 | +blockference tests scripts GRTs`, manuscript validation/build drift checks, and |
| 60 | +the repository-wide relative Markdown links and anchors. Full release verification |
| 61 | +remains the canonical `uv run python scripts/release_check.py` command. |
0 commit comments