Skip to content

Releases: alexcpn/speckit_ofk

v0.3.0

Choose a tag to compare

@alexcpn alexcpn released this 20 Jul 13:13

0.3.0 — 2026-07-20

  • Git history as a first-class signal. okf-inventory.sh now emits a
    git.history object: churn (per-file commit counts over the last
    OKF_HISTORY_COMMITS non-merge commits, capped at OKF_CHURN_TOP) as a
    significance signal, plus recent_commits. Added an adr_docs category
    (ADR/RFC/decision files) for seeding Design Decision concepts. All scans
    are bounded and skip cleanly on non-git repos.
  • New okf-history.sh script — 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 (--patch opt-in) to avoid
    leaking secrets from history; --json and --limit supported.
  • New /speckit.okf.clarify command. Generate/update now park
    uncertainty in an open_questions frontmatter 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.sh per concept for the "why", and emits open_questions
    where code + history are inconclusive. generated_by bumped to
    speckit-okf/0.3.0.
  • validate_okf.py: added W8 (concept has unresolved open_questions).
  • validate.md/README/extension.yml/config template updated for the new
    command, script, and config knob.

v0.2.0

Choose a tag to compare

@alexcpn alexcpn released this 17 Jul 13:16

0.2.0 — 2026-07-17

  • okf-config.yml's exclude list is now actually honored by both
    okf-inventory.sh and validate_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: added argparse (--config, --exclude,
    --repo-root, --json, --help), graceful error handling instead of
    crashing on unreadable files, and three new checks — W6 (dangling
    source_files entries), W7 (possible duplicate concept by
    type+title), E4 (missing/malformed Commit: line in log.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.md date 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 dead json_escape() helper, applied a
    consistent cap (OKF_INVENTORY_CAP, default 150) across all inventory
    categories with a truncated flag per category, and switched the
    default output path from the fixed /tmp/okf-inventory.json to a
    per-repo, per-PID path to avoid collisions between concurrent runs.
  • /speckit.okf.update: added an explicit no-op check (stops cleanly if
    HEAD already matches the logged commit), explicit handling of renamed
    source files (updates source_files in 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 .md file in bundle_dir, not just log.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 (compare timestamp against each source_files
    entry's last commit time).

v0.1.0 - Initial Release

Choose a tag to compare

@alexcpn alexcpn released this 17 Jul 12:18

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