Skip to content

Dev#73

Merged
m0n0x41d merged 2 commits into
mainfrom
dev
Apr 29, 2026
Merged

Dev#73
m0n0x41d merged 2 commits into
mainfrom
dev

Conversation

@m0n0x41d
Copy link
Copy Markdown
Owner

No description provided.

…eline

internal/cli/fpf.db was last built 2026-04-24 against fpf_commit a2c5d62
(the pre-bump FPF). After the submodule jumped to b18acde
("terminology cleanup in E.8, E.9, E.19") the embedded index lagged the
source spec for ~5 days; users running `haft fpf search` or
`haft_query(action="fpf")` would have hit the stale corpus.

Regenerated:
- build_time:        2026-04-29T16:36:33Z
- fpf_commit:        b18acde5...                 (matches submodule HEAD)
- indexed_sections:  4961  (was 4818, +143 sections from cleanup)

Structural fix on the release workflow: add `Rebuild FPF index from
submodule` step before `Build binary` so a developer who forgets to run
`task fpf-refresh` before tagging will not ship a stale db. The step is
defense in depth — the committed db should already match, but if it
drifts, the release artifact still embeds the index built from the
locked submodule SHA. The indexer uses pure-Go sqlite (modernc), so no
CGO setup is needed for this step.

`Taskfile.yaml` `fpf-index` checksum cache also got out of sync after
the submodule bump and reported "up to date" against stale state. Not
fixed here (one-shot stale; cache regenerates on the next force-run);
flag for follow-up if it bites again.
…ng in 7.0.0

Two new Chore entries under [7.0.0]:
- FPF corpus → b18acde (terminology cleanup E.8/E.9/E.19), fpf.db
  regenerated 4818 → 4961 sections (+143), one golden case refreshed.
- Release workflow now regenerates fpf.db from the locked submodule SHA
  before go build, so a forgotten `task fpf-refresh` cannot leak stale
  corpus into release artifacts.
@m0n0x41d m0n0x41d merged commit 6d9abeb into main Apr 29, 2026
2 checks passed
m0n0x41d added a commit that referenced this pull request Apr 29, 2026
…ract test

The release pipeline runs `tsc -b` in desktop/frontend strict mode, which
the regular CI does not — so this slipped through PR #72 and PR #73 and
broke v7.0.0 tag-build matrix on linux-arm64 (and fail-fast cancelled
the rest).

`fixture.unknown_status_examples` is `readonly string[]` by design — the
test deliberately feeds invalid strings to `projectReadiness` to verify
that `isProjectReadiness` filtering rejects them. TS strict refuses
`string -> "ready" | "needs_init" | "needs_onboard" | "missing" |
undefined` without a cast. Casting at the call site preserves the test's
intent (exercise the rejection path) while satisfying the type checker.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant