Skip to content

Releases: bamanoz/focused-spec

focused-spec v0.10.1

Choose a tag to compare

@bamanoz bamanoz released this 21 Oct 10:53

focused-spec 0.10.1

Agent workflow and onboarding

  • Activate focused-spec for standalone BDD/SDK scenario and application-driver work as well as SDD, without requiring the user to name the skill.
  • Reconcile missing enrollment for touched configured native items, preserve the original requested outcome through clarification, and retain host planning and approval boundaries.
  • Require complete, version-matched local guidance and separate selected-plugin contracts; recover truncated responses before acting.
  • Keep portable guidance framework-neutral. Refresh README and agent installation documentation, including the pinned .NET GitHub/local-feed installation procedure.

Evaluation integrity

  • Retain diagnostic replies and failed responder output without inventing consent or rewriting historical verdicts.
  • Recognize explicitly proposed companion filenames and completed exact execution while retaining path, mutation, composition, and package-integrity boundaries.
  • Permit additive upgrade README notes while protecting every original paragraph.

Coordinated distributions

  • All thirteen npm packages: 0.10.1.
  • Go SDK module: github.com/bamanoz/focused-spec/packages/sdk/go at v0.10.1 (packages/sdk/go/v0.10.1 tag).
  • Python SDK: focused-spec-scenarios 0.10.1 on PyPI, wheel and sdist.
  • .NET SDK: FocusedSpec.Scenarios.0.10.1.nupkg attached to this release for a project-local NuGet feed. SHA-256: 4c0689d653dd2f2d28ea1ebe37f30ce31578dbc318efe9b6ecbcd60f4c5392a9. Not published on nuget.org; no Microsoft account is required for the GitHub download.

Verification

  • npm test -- --maxWorkers=2: 397 tests passed.
  • Real OpenSpec Go/pytest smoke passed; OpenSpec validation: 23 items passed.
  • Full focused-spec execution: 330 enrolled scenarios passed, 364 unique targets.
  • Native Go SDK tests, 8 Python SDK tests, and 8 .NET SDK tests passed; clean wheel, sdist, and NuGet consumers executed successfully.
  • Full 40-case model matrix used externcash/gpt-6.1-sol: 25/26 public cases passed in that run; the upgrade case passed all gates after its README-integrity correction and subsequent reruns. One intervening rerun failed complete-guidance adherence. All 14 native create/revise runs passed authoring and evidence gates. Unavailable native validation/lifecycle checks remain UNVERIFIED, not certified. This is not a claim of one failure-free 40-case run or universal model reliability.

No CLI grammar, configuration-v5, Format API 2, Runner API 1, or SDK API migration is introduced by this patch. Refresh existing agent integration after updating the local CLI, and obtain fresh local workflow guidance.

focused-spec v0.10.0

Choose a tag to compare

@bamanoz bamanoz released this 20 Oct 07:34

npm, Go and Python release 0.10.0 — .NET GitHub download available; nuget.org pending

The CLI, all thirteen npm packages, and all language SDKs now share version 0.10.0. All thirteen npm packages are published, visible in the registry, and installed together in a clean consumer. Their registry integrity hashes match the verified package inventories. The Go SDK v0.10.0 is published and verified from a clean consumer without a local replacement. Python SDK 0.10.0 is published on PyPI: wheel and sdist SHA-256 hashes match the verified local artifacts, and a clean public-registry consumer passes the standalone example and all eight SDK contract tests. The .NET SDK 0.10.0 is available as the attached public GitHub Release package; nuget.org publication remains pending.

The immutable npm source tag v0.10.0 remains at b3c55ff8d8dfc87b77105d6a41996252ad20a1cc. Native SDK version alignment and installation documentation are committed at aab30befe709af932a2123ab0434fadf8325841e; the Go module tag packages/sdk/go/v0.10.0 points there. The earlier Go v0.1.0 tag is retained unchanged. Runtime independence does not imply independent release numbering; configuration and plugin protocol versions remain separate.

Highlights

  • Independent Given/When/Expect SDKs for JavaScript/TypeScript, Go, Python and .NET, with maintained bank applications, ordinary tests and readable demos. Optional JS/TS and Go format/runner packages execute the same native suites through the CLI.
  • Format-owned evidence through Format API 2 and configuration version 5. Explicit inline Markdown and registry-composing adapters keep native behavior in one source; exact opaque IDs, selectors and AND evidence remain intact.
  • CLI version, list, show, scenario-filtered validation and installed plugin-docs with consumer-local provenance. Updated agent-led installation and integration guidance remains available offline from the installed CLI.
  • Producer-neutral execution events (kind, message, optional JSON data), bounded retention, native scenario provenance and compact/detailed/JSON presentation. Explanations and observations never substitute for actual verification.
  • Lossless runner/format transport validation before serialization; a configured runner named planned works with concrete evidence; opaque human output is escaped without rewriting JSON or runner selectors.

Breaking changes and migration

  • Configuration versions 1–4 and Format API 1 are rejected. Move to configuration version 5 and explicit Format API 2 adapters; move top-level evidence configuration into the chosen registry adapter's options. Runner API remains version 1.
  • Core execution events use the generic envelope above; the core ObservationEvent export is removed. SDK-specific event translation belongs to the direct scenario runners.
  • JSON-mode invocation/uncaught errors use one structured stderr envelope with empty stdout; command-specific business-result JSON remains separate.
  • Keep the CLI, SDKs and npm plugins on the coordinated 0.10.0 release. Preserve native identities, exact evidence references and existing storage ownership during migration. See docs/guides/configuration.md, docs/reference/runner-api.md and docs/reference/cli.md in the source tag.

Verification

  • npm test: 392 tests across 21 files.
  • Strict OpenSpec validation: 21 capabilities.
  • CLI smoke: real Go and pytest evidence passes.
  • Full enrolled execution: 324 PASS, 0 FAIL, 0 SKIP, 0 ERROR, 359 unique targets. The default 120-second runner deadline timed out; a temporary release-only 300-second deadline passed. Repository execution settings remain unchanged.
  • Clean public-registry consumers verify the standalone CLI, SDK-only execution, all thirteen exact npm versions, inline and explicit-registry evidence with real Go/pytest tests, installed plugin documentation provenance, and six-scenario TypeScript and Go banks. TypeScript ordinary tests, demo, list/show, strict validation, full execution and detailed selected execution pass. Python wheel/sdist contract suites and the local NuGet package consumer pass; these local native artifacts do not certify registry publication.
  • Four core-boundary sensitivity probes: PASS → selected behavioral FAIL under a controlled product regression → restored PASS.

The .NET SDK package is publicly downloadable from this release and verified through a clean local-feed consumer. It is not published on nuget.org; the complete cross-registry release remains pending.

Install from this release (macOS/Linux)

Requires .NET SDK 9+. From a solution/project root:

mkdir -p .nuget/local-feed
curl --fail --location --output .nuget/local-feed/FocusedSpec.Scenarios.0.10.0.nupkg https://github.com/bamanoz/focused-spec/releases/download/v0.10.0/FocusedSpec.Scenarios.0.10.0.nupkg
shasum -a 256 .nuget/local-feed/FocusedSpec.Scenarios.0.10.0.nupkg

On Linux use sha256sum if shasum is unavailable. Stop unless the checksum equals the value above. Create NuGet.Config beside .nuget/ for a new project:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="focused-spec-local" value=".nuget/local-feed" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

For an existing configuration, merge only the local source without clearing custom sources; adapt any source mapping to map FocusedSpec.Scenarios to that source. Paths are relative to the configuration file, not the shell. From the .csproj directory:

dotnet add package FocusedSpec.Scenarios --version 0.10.0
dotnet restore

Retain the configuration and pinned package reference. Repeat the verified download before restore on every clean machine/CI job, or vendor the package if permitted; a developer cache is insufficient. Use the package-embedded README for the SDK API/example. This download is not a NuGet HTTP feed and does not imply nuget.org publication.

focused-spec v0.9.2

Choose a tag to compare

@bamanoz bamanoz released this 16 Oct 14:19

focused-spec v0.9.2 publishes the coordinated eight-package npm suite from commit 28b5e36.

  • Core now uses explicit Format API 2 adapters: inline Markdown or a registry adapter composed with native Markdown/Gherkin parsers. Configuration version 5 selects formats and their evidence owners explicitly; older configurations require migration.
  • Installed plugin documentation is available through plugin-docs, and the CLI adds offline version identity and enrollment inspection.
  • Bundled agent initialization supports explicit targets, preview and conflict-safe installation. The README and agent installation guide use the local npx focused-spec CLI.
  • Official Vitest, pytest, and Go runners remain independently installable.

Install only the formats and runners needed by your project. See the installation guide and migration guide.

Verified before publication: 295 tests, 16 strict OpenSpec validations, 319 focused evidence passes, and a clean installation of all eight published npm packages.

focused-spec 0.9.1

Choose a tag to compare

@bamanoz bamanoz released this 12 Oct 17:10

Correctness and execution-performance patch for the six-package focused-spec suite.

Changes

  • Reject cyclic YAML options and malformed runner IPC envelopes without crashes or false results.
  • Preserve scope captures, same-line native item identities, Markdown adjacency, and exact CLI option contracts.
  • Execute exact Vitest public task specifications in one batch, retaining file-specific results and excluding unselected tests.
  • Preserve split UTF-8 in official runner output; bound inherited-pipe and evaluation process lifetimes.
  • Remove retired compiled modules and staged assets from repeated builds and package tarballs.
  • Strengthen eval consent, exact-execution, mutation-sensitivity, checkpoint, diagnostic, and immutable-result handling.
  • Index planner lookups: measured median for 10,000 scenarios improved from 1996.51 ms to 53.67 ms with identical complete plans.

Compatibility
Configuration version 4, format/runner API version 1, public exports, opaque selectors, and independent package ownership are unchanged. All six packages use version 0.9.1.

Verification
Audit-source checks: 233 tests pass; 181 enrolled scenarios / 210 exact targets pass; 11 OpenSpec capability specs validate. All 21 new outcomes / 53 new references demonstrate PASS -> selected behavioral assertion FAIL -> restored PASS. Post-batch exact-selection and cross-file identity checks also demonstrate that sequence.
The complete all-scope run finished in 54.50 seconds without raising the 120000 ms runner timeout.
The versioned 0.9.1 suite was rechecked: npm ci, npm test (233 tests), real Go/pytest smoke, 11 strict OpenSpec checks, and complete focused validation/execution (181 scenarios / 210 targets) pass. The versioned all-scope validation/run completed in 58.25 seconds.
All six inspected exact tarballs were installed in an isolated consumer: Go, pytest and Vitest evidence pass; the Gherkin adapter parses the selected native identity. Core-alone CLI guidance/public exports work without bundled formats or test frameworks.
During npm ci, npm policy skipped the optional fsevents installation script; all recorded non-watching checks passed without it.

Model-evaluation limitations
Public evaluations: 8/9 pass. project-upgrade fails the existing byte-for-byte fixture README integrity gate even though upgrade artifacts, preservation, validation, execution, product behavior, and mutation sensitivity pass; the score is retained, not relabeled. Native authoring/evidence: 14/14 pass. Unavailable host validation/lifecycle boundaries remain unverified. Windows process-tree termination was not exercised on macOS.

focused-spec 0.9.0

Choose a tag to compare

@bamanoz bamanoz released this 12 Oct 11:32

Pluggable formats and official runners

focused-spec 0.9.0 separates its format-neutral core from independently installed adapters and runners:

  • focused-spec@0.9.0
  • @focused-spec/format-markdown@0.9.0
  • @focused-spec/format-gherkin@0.9.0
  • @focused-spec/runner-vitest@0.9.0
  • @focused-spec/runner-pytest@0.9.0
  • @focused-spec/runner-go@0.9.0

Migration

Configuration version 4 requires explicit format registrations and a format ID on every document layout. Core no longer bundles Markdown/Gherkin parsers or framework runners. Install only the adapters your project selects; official runner IDs are vitest, pytest, and go. There are no version-2/3 runtime compatibility aliases or automatic conversions.

For an agent-led upgrade, update the project-local CLI and installed loader, then obtain workflow guidance in its own command:

./node_modules/.bin/focused-spec instructions --protocol 1 --topic workflow --json

Preserve scope-local identities, opaque selectors and every AND member. Compatible legacy framework registrations migrate to official packages without deleting project-owned runner files. See the migration guide.

Contract discovery fixes

  • Protocol guidance acquisition is standalone, never concatenated with init/install JSON output.
  • All official runner packages include public selector/options documentation generated from one guide.
  • Controlled regressions preserve the complete workspace state, including existing generated files and bytecode.

Verification

Built and verified from the release commit: 179 tests passed; strict OpenSpec validation passed; all 160 enrolled outcomes passed across 157 exact evidence targets; the real Go/pytest example passed. Packed-consumer evidence executes selectors obtained from installed runner documentation and detects a controlled assertion regression.

Fresh agent matrix with externcash/gpt-6.1-sol: 9/9 public evaluations passed; all 14 native revision/create runs passed authoring and executable-evidence checks. Native validation/lifecycle remain unverified where no independent checker/transition was exercised; this is not universal host certification.

focused-spec 0.8.3

Choose a tag to compare

@bamanoz bamanoz released this 11 Oct 22:29

Security patch

  • Replace the vulnerable fast-glob / micromatch / braces chain with glob 13.0.6 and bounded minimatch expansion.
  • Reject excessive document, exclusion and evidence-source patterns before matching; preserve tested numeric ranges, hidden-file discovery and lexical/canonical source safety.
  • Report dangling evidence-source symlinks instead of silently omitting them.
  • Use ordinary focused-spec commands in public init and instructions help examples.

Compatibility: patterns are limited to 4096 characters, 32 nested group levels (parentheses: 2), 256 brace delimiters and 256 expanded alternatives. Excess produces an explicit diagnostic, never silent truncation.

Verification: 168 tests; 149 focused outcomes; real Go/pytest CLI smoke on Node 22.16.0; isolated production npm audit: 0 vulnerabilities.

focused-spec 0.8.2

Choose a tag to compare

@bamanoz bamanoz released this 11 Oct 21:37

Changes

  • Guide explicitly requested upgrades using the project-local CLI and refreshed agent integration.
  • Preserve native behavior, scope-local IDs, exact selectors, and AND evidence while migrating version-2 projects.
  • Point obsolete configuration and inline-metadata diagnostics to executable package-owned workflow guidance.
  • Add a blind upgrade evaluation starting from published focused-spec 0.5.0.

Verification

164 tests passed; real Go/pytest smoke passed; 145 focused outcomes passed. Fresh public evaluations: 9/9; native authoring and evidence: 14/14 with externcash/gpt-6.1-sol. Native validation/lifecycle certification remains partial.

Loader protocol 1, configuration version 3, and runner API 1 are unchanged.

focused-spec 0.8.1

Choose a tag to compare

@bamanoz bamanoz released this 11 Oct 20:19

Correction

Update the root README quickstart to initialize agent integration with the consuming project's installed CLI (./node_modules/.bin/focused-spec init --tools ...) instead of presenting the external skills installer as the primary path. Link to the full target/destination guide, clarify that initialization does not create evidence setup, and use the explicit project-local CLI for validation and execution.

No CLI, configuration, guidance protocol, or runner API behavior changes. Version 0.8.0 remains immutable; this patch includes the corrected README in the npm tarball.

Verification

  • README quickstart executed in isolated consumers: npm installation, Oh My Pi/Claude initialization, strict validation, real Go and pytest evidence.
  • All 17 root README local links are valid; packed README bytes equal the corrected source.
  • npm test: 163 passed; npm run smoke: real Go/pytest passed.
  • Strict OpenSpec: 11/11; focused validation/execution: 142 passing outcomes, 141 targets, no planned evidence.
  • npm registry integrity and shasum match the exact tested 0.8.1 tarball.

npm: https://www.npmjs.com/package/focused-spec/v/0.8.1
Release commit: 41be18afcc84e099b17bc67344a1339b7b2d8946.

focused-spec 0.8.0

Choose a tag to compare

@bamanoz bamanoz released this 11 Oct 20:06

Changes

  • Add explicit, offline focused-spec init with 50 canonical agent targets audited against OpenSpec 1.14.1: 34 native wrappers and 16 skills-only integrations.
  • Support target-native formats, shared .agents loaders, Windsurf-to-Devin normalization, and explicitly selected global-only MiniMax integration.
  • Preserve custom files by default; provide write-free previews, bounded replacement, multi-root preflight, symlink protection, and truthful JSON write reporting.
  • Clarify project-local runner response shapes and evidence-shard discovery; strengthen evaluation consent-path and implementation-inspection boundaries.
  • Publish surviving behavioral contracts and archive completed changes without retaining expired working registrations.

Compatibility

Node.js 22.16.0+ remains required. Configuration version 3, guidance protocol 1, runner API version 1, and existing validate/run contracts are unchanged. init installs integrations only; it does not manufacture evidence setup or certify host activation. MiniMax writes to the user's canonical home only when explicitly selected.

Verification

  • npm test: 163 passing tests across 10 files, build and strict typechecks.
  • npm run smoke: real Go and pytest evidence passed.
  • Strict OpenSpec validation: 11/11 published specs; archive completion: 16/16 changes.
  • Strict focused validation and execution: 142 passing registered outcomes, 141 unique targets, no planned/skipped/failed/error evidence.
  • Audited the packed release (88 files, 34 wrappers) and exercised both guidance topics plus preview/install/no-op for all 50 targets in an isolated consumer/home.
  • npm registry integrity and shasum match the exact tested tarball; tag identifies release commit 1b69a07f1f2bb570d884632a4706dcb678c03e6c.

Installer paths and formats are verified for all 50 targets; activation is not certified for all host runtimes. Historical model-native validation/lifecycle certification limits remain explicit and unchanged.

npm: https://www.npmjs.com/package/focused-spec/v/0.8.0