diff --git a/pm/JOURNAL.md b/pm/JOURNAL.md index b34a322..cece665 100644 --- a/pm/JOURNAL.md +++ b/pm/JOURNAL.md @@ -12,3 +12,22 @@ file carries the reasoning and the pointers. - **Refs** — commits, issues, decision records. --- + +## 2026-09-09 · model · #36 coverage counter finished, two bugs caught before merge + +**Why:** the drafted n_units_collected fix (uncommitted) derived its candidate +cohort from category-filtered results instead of the caller's full expected +cohort, and hardcoded a view name absent below schema_version 5 -- both +silent on the fixture, both would have shipped without an independent review +pass before merge. +**Obligates:** #72 +**Refs:** #36, b41d5ee, PR#71 + +## 2026-09-09 · model · #33/#34 split into independently-tested commits + +**Why:** #33's own branch had its tests sitting uncommitted, and quietly bundled +a behavior change (#34) into what its commit message called a pure refactor; +splitting them let each pass CI with its own tests instead of merging on a +false "tests pass" claim. +**Obligates:** (none) +**Refs:** #33, #34, 0c7c7eb, 392643b, d0d724c, 9f5cd98, PR#69, PR#70 diff --git a/pm/STATUS.md b/pm/STATUS.md index 59bb0a7..860dd68 100644 --- a/pm/STATUS.md +++ b/pm/STATUS.md @@ -7,46 +7,29 @@ ## Where this stands -uscogdata is at 0.4.0 and its public surface is settled: the query verbs, the cohort -predicates added in this release, and the provenance contract every verb returns. - -The six open issues split cleanly. Two are API work carried out of the #9 review pass -and deliberately deferred there rather than fixed in that branch. Three concern the -corpus layer, and the largest of them, partition-level caching, was named the single -highest-leverage change on the remote path before being deferred. One, the -data-correction intake (#52), is a decision rather than a task: it was parked during -the 0.3.0 design, and the API announcement waits on it, because without it the corpus -cannot make the "traceable and correctable" claim that most distinguishes it from -Census's own files. - -Nothing here is blocked on anything else, so the ordering is a judgement about value -rather than a dependency graph. - -Compass's own files moved out of `docs/` this session. They were sitting inside -pkgdown's output directory, and `pkgdown::clean_site()` deletes every top-level entry -there except `CNAME` and `dev` — asked directly, it listed `docs/pm` and -`docs/decisions` among the 28 it would remove, with the guard that would have stopped -it satisfied by `docs/pkgdown.yml`. They are in `pm/` now. Nothing was lost: the -journal had no entries and there were no decision records yet, which made this the -cheapest moment to move. The `.gitignore` workaround that re-included two children of -an excluded `docs/` is gone with it. +Three pieces of work landed and merged this session: the #33/#34 split (a pure +decomposition and a behavior fix, now independently tested and reviewed), and +#36 (the second `n_units_collected` coverage counter), which turned up two +real bugs -- a scoping leak and a hardcoded view name -- before either +shipped. All three issues are closed, CI is green on `main`, and a roborev +review pass on the intermediate commits caught one more small documentation +drop, now restored. One new issue (#72) tracks a coverage vignette that +neither existing walkthrough covers. ## Ready to work on next -- **#34** cog_revenue() offers expenditure recipes as suggestions: scope the candidate query by category_type · `ws/api` — nothing is blocking it; something is currently wrong -- **#36** n_units_reporting is category-conditional and cannot be read as a response rate · `ws/corpus` — nothing is blocking it; owed work from an earlier change +- **#72** docs: add a vignette explaining provenance$coverage counters · `ws/docs` — nothing is blocking it; owed work from an earlier change - **#2** Extend population data to be households as an alternate spending denominator · `ws/corpus` — nothing is blocking it -- **#33** Decompose .build_suggestions() (106 lines) into named helpers · `ws/api` — nothing is blocking it -- **#52** Release 11/11: design the data-correction intake (deferred; gates the API announcement) · `ws/corpus` — nothing is blocking it - **#64** Partition-level caching: R/cache.R is still a stub, and the remote path pays for it every session · `ws/corpus` — nothing is blocking it +- **#52** Release 11/11: design the data-correction intake (deferred; gates the API announcement) · `ws/corpus` — waiting on a person, not on other work ## Workstreams | Stream | Commits since | Open | Debt | Owes docs | |---|---|---|---|---| -| Query verbs and results | 77 | 2 | 0 | no | -| Corpus, mirror, provenance | 39 | 4 | 1 | no | -| Vignettes and guides | 34 | 0 | 0 | **yes** | +| Query verbs and results | 5 | 0 | 0 | no | +| Corpus, mirror, provenance | 1 | 3 | 0 | **yes** | +| Vignettes and guides | 1 | 1 | 1 | **yes** | ## CI @@ -58,9 +41,9 @@ an excluded `docs/` is gone with it. _Nothing blocks anything else, so there is no graph to draw._ -- Marker: `none` (no journal entry yet) -- Commits since: 165 -- Open issues: 6 +- Marker: `1ec20174` (2026-08-23) +- Commits since: 7 +- Open issues: 4