Releases: alexcpn/speckit_ofk
Releases · alexcpn/speckit_ofk
Release list
v0.3.0
0.3.0 — 2026-07-20
- Git history as a first-class signal.
okf-inventory.shnow emits a
git.historyobject:churn(per-file commit counts over the last
OKF_HISTORY_COMMITSnon-merge commits, capped atOKF_CHURN_TOP) as a
significance signal, plusrecent_commits. Added anadr_docscategory
(ADR/RFC/decision files) for seeding Design Decision concepts. All scans
are bounded and skip cleanly on non-git repos. - New
okf-history.shscript — bounded, per-path git history for the
agent to mine the "why" of a concept: creation commit, commit count,
recent subjects, and revert/hotfix/risk-flagged commits (deadlock, race,
regression, security). Diff-free by default (--patchopt-in) to avoid
leaking secrets from history;--jsonand--limitsupported. - New
/speckit.okf.clarifycommand. Generate/update now park
uncertainty in anopen_questionsfrontmatter list instead of guessing;
clarify collects those, asks the user in prioritized batches (capped by
clarify.max_questions, default 20), and folds answers back into concept
bodies marked with<!-- clarified: ... -->sentinels./speckit.okf.update
preserves those sentinels as human curation and never overwrites them. /speckit.okf.generate: uses churn for Phase 1 significance, runs
okf-history.shper concept for the "why", and emitsopen_questions
where code + history are inconclusive.generated_bybumped to
speckit-okf/0.3.0.validate_okf.py: added W8 (concept has unresolvedopen_questions).validate.md/README/extension.yml/config template updated for the new
command, script, and config knob.
v0.2.0
0.2.0 — 2026-07-17
okf-config.yml'sexcludelist is now actually honored by both
okf-inventory.shandvalidate_okf.py(via--config/--exclude),
not just interpreted as prompt guidance. Fallback exclude defaults in
the inventory script's non-git branch now match the config template.validate_okf.py: addedargparse(--config,--exclude,
--repo-root,--json,--help), graceful error handling instead of
crashing on unreadable files, and three new checks — W6 (dangling
source_filesentries), W7 (possible duplicate concept by
type+title), E4 (missing/malformedCommit:line inlog.md).
Extended the W5 secret heuristic to catch unquoted values, AWS-style
access keys, and PEM private-key blocks. Warns (W0) when PyYAML isn't
installed and the lenient fallback parser is in use.- Breaking (bundle format):
log.mddate blocks now require a
Commit: \`line as the first line under the heading — this is what/speckit.okf.updatereads to resume incrementally, replacing free-form SHA parsing from prose. Bundles generated before 0.2.0 will need this line added manually (or regenerated) before/speckit.okf.updateor/speckit.okf.validate` will treat them as conformant. okf-inventory.sh: removed deadjson_escape()helper, applied a
consistent cap (OKF_INVENTORY_CAP, default 150) across all inventory
categories with atruncatedflag per category, and switched the
default output path from the fixed/tmp/okf-inventory.jsonto a
per-repo, per-PID path to avoid collisions between concurrent runs./speckit.okf.update: added an explicit no-op check (stops cleanly if
HEADalready matches the logged commit), explicit handling of renamed
source files (updatessource_filesin place instead of
orphaning+duplicating), and a fallback full re-scan when the logged
commit is no longer reachable (rebase/squash/force-push)./speckit.okf.generate: the "bundle already exists" guard now checks
for any.mdfile inbundle_dir, not justlog.md, so hand-seeded
or partial bundles aren't clobbered./speckit.okf.validate: no longer re-derives W4/W5 in prose (relies on
the validator's own output); the "stale timestamp" spot-check now has a
concrete algorithm (comparetimestampagainst eachsource_files
entry's last commit time).
v0.1.0 - Initial Release
Initial release of the OKF Knowledge Bundle Generator extension for Spec Kit.
Generates and maintains an Open Knowledge Format (OKF v0.1) knowledge bundle from a source-code repository. Adds commands to bootstrap a bundle, incrementally update it from git history, and validate conformance against the OKF spec.
Commands:
- speckit.okf.generate
- speckit.okf.update
- speckit.okf.validate