Releases: theagenticguy/symspec
Releases · theagenticguy/symspec
Release list
v1.2.0
1.2.0 (2026-08-18)
Features
- check: splice the terminology tier where it cannot reach the verdict (a74d2fe)
- propose-glossary: align GUARD vocabulary, the slot that decides what gets compared (59969d9)
- propose-glossary: offer the NOUN behind a phrase class, with its blast radius (358d8b1)
- propose-glossary: report every opposition, not only the ones a merge threatened (b3b79ba)
- terminology: the dual of the synonym bridge, at a measured floor (c47d20c)
- terms: a committed noun-phrase table, so one entry aligns a noun document-wide (8a38938)
- whole-document vocabulary alignment — guard slots, terms, and the terminology tier (8fcdac7)
Bug Fixes
- formal: a committed table must not invert a state bridge (fbe4e67)
- glossary: a dead withhold reason, and a plan that split what it aligned (473fbc5)
- lint: R37 stops claiming a glossary check it never ran (a296926)
- publish: gate the two code counts that had no gate, and the one that had half (ed9e12f)
v1.1.0
1.1.0 (2026-08-14)
Features
- adversarial: restore the searcher, and close two bug classes with swept gates (0f446e0)
- propose-glossary: design the vocabulary across the whole document, not pair by pair (a0b910e)
Bug Fixes
- engine: the two defects the freeze kept as footnotes, red-first (ed16eb9)
- repair: every command the tool tells you to run, runs — and the README says why (90b8c10)
Performance Improvements
- repair-test: read each source file once, not once per assertion (428d155)
v1.0.1
v1.0.0
1.0.0 (2026-08-12)
⚠ BREAKING CHANGES
- one package at the root, published via release-please + OIDC (#3)
Features
- all the things (df0efdc)
- blah (a49f651)
- cli: add download-model command to pre-warm the semantic model cache (1c3d3d4)
- cli: field-report wishlist (10 items) +
installskill command (1b1fb5e) - embed: replace transformers.js with pure onnxruntime-web WASM (3c3bac4)
- formal: close issue #2 — verified never outruns the numeric tier; loud coverage (fabc156)
- formal: close the 25/30 red-team escapes — lexicon hardening, coverage-demoted verified, embeddings core (ef40962)
- formal: close the atom-matching gap — antonyms, guard-implication closure, coverage gating (08cdc5b)
- formal: close the atom-matching gap — antonyms, guard-implication closure, coverage gating (bfeed93)
- install: bundle with tsdown + migrate to registerTool API (baeaef1)
- install: rename bins to symspec/symspec-mcp + ship installable tarball (0db2f2e)
- one package at the root, published via release-please + OIDC (#3) (13242d9)
- v3.0: deterministic numeric/arithmetic conflict tier (LIA/LRA) (654dddb)
- v3.1,v3.2: ambiguity finding family + deterministic embedding graph/DAG (3d8ab3d)
- v3.3: bounded LTL→SMT temporal contradiction tier (in-process) (e714dc5)
- v3.4: generative-adversarial detection harness + extractor hardening (41899e1)
- v5-agents: AGENTS.md as a kernel projection, with a drift gate that checks BOTH halves (0a29f28)
- v5-budget: data.budgetHint, anchored on the run's OWN clock because a cost table did not survive measurement (75198c8)
- v5-check: the check op — donor pipeline through the Layer, +repair/+progress, exit contract wired (4f9f9f8)
- v5-core: doc store as Layers — atomic write, donor path precedence, disjoint load codes (58d242f)
- v5-core: document format v3 — stateModel + responseKind first-class, V27 unrepresentable (9d0cce9)
- v5-core: ONE op vocabulary and ONE mutation fold — repair.ops can now be real (e41d1ba)
- v5-craft: the authoring-craft corpus, with every claim measured against the live detectors (2ef4b47)
- v5-craft: the craft corpus learns the state model, with a transcript that was RUN not composed (c881853)
- v5-formal: transplant the formal tier + SolverService Layer — 4 files edited, 35 byte-identical (8059a68)
- v5-install: the install op, with all three V11 defects fixed and each fix independently falsifiable (801c8a5)
- v5-kernel: --pretty/--dense/--field as envelope post-processors, exit code untouchable (58741d6)
- v5-kernel: envelope + exit contract, ported as agent API not legacy (394f2da)
- v5-kernel: ERR_* catalog as 21 TaggedErrorClasses, tag IS the code (c65f6ef)
- v5-kernel: ops table + CLI/manifest/help projections, three ops end-to-end (a4c076f)
- v5-lint: transplant the GTWR catalog, publish all 75 codes, and close the oracle's SECOND blind spot (83d32b1)
- v5-ops: init/import/list/show — both hex-bonk docs round-trip exactly (aad6e5d)
- v5-ops: the twelve mutation ops, all folding ONE vocabulary through ONE fold (6202eb8)
- v5-parse: transplant the parse ladder + the
parseop — ONE proposedOps name, and a DONOR BUG fixed (ae23bc3) - v5-reach:
--reachability-timeout-ms, and the bound is the CANCELLABILITY mechanism (03763d3) - v5-reach: the reachability TIER in
check, and the worked fixture found a soundness bug (f40391a) - v5-reach: the Spacer Horn encoder, with polarity pinned and three real bugs found by measuring (6fc7d57)
- v5-reach: the vacuous-initial gate — an unsatisfiable Init makes every proof worthless, and the certificate check provably cannot see it (8c23e26)
- v5-repair: repair.ops become REAL, and the round trip PROVES AC-A-1 + AC-A-2 (4e09200)
- v5-semantic: the EmbedderService Layer — propose-only, fail-closed, and both oracle sides run it (27f93e2)
- v5-state: the state model becomes authorable, with the V14/V21 hazard closed at the FRONT DOOR (6d3f062)
- wave1: close seven verified honesty defects (169af27)
- wave2: close V6 temporal unsoundness, land reproduce-ops, z3 5.0.0 (22e0a04)
- wave2: unify the atomizer (AC-2-7), wire the gates that gated nothing (AC-2-8a) (4b11b8e)
Bug Fixes
- ci: decide the three undecided allowBuilds — a placeholder string is not a decision (6eaaa32)
- ci: let packageManager own the pnpm version — action-setup@v4 errors on a double pin (03fc3e2)
- install: Claude Code reads .claude/skills, not .agents/skills (fdd1f47)
- v5-budget: the hint divided by pairs IDENTIFIED, not solved — a real under-estimate the loaded suite caught (0a5a184)
- v5-explain: the code COUNT becomes a projection too — two surfaces still said 75 after G4 made it 80 (9d2b83f)