VeritySpec
Executable product contracts for humans, tools, and agents.
How example-scoped GUI and CLI product portfolios create a safe incubation layer for continuous AI work, VeritySpec hardening, and future JasonFurr.com product promotion.
The next step in the production system is not simply making more repositories. It is creating a safe layer where AI agents can practice real production behavior across many products without confusing examples for live products.
That distinction matters. A product example should be strong enough to exercise the production system, but clearly separated from a real commercial release. It should have source evidence, product-contract records, validation, CI, issue templates, promotion rules, and a future path to becoming real. It should not claim launch status, legal readiness, support availability, package publication, store distribution, or JasonFurr.com product status before those things have actually been approved.
That is the purpose of the example-scoped GUI and CLI portfolios now in place. They are not disposable mockups. They are incubation repositories. They are designed to let AI agents build, test, harden, compare, and improve spec-driven production workflows while keeping the boundary between examples and live JasonFurr.com products explicit.
The first wave contains two product families: cross-platform GUI products and cross-platform CLI products.
The GUI family starts from fifty product design documents for small-to-medium desktop tools. They cover local-first productivity, file organization, developer utilities, design tools, privacy workflows, documents, media, education, and AI-adjacent prompt work. The stacks vary intentionally: Tauri, Electron, Flutter, Avalonia, Qt, JavaFX, Fyne, GTK, Godot, wxWidgets, Kivy, and others. That variety is useful because it prevents the workflow from only proving one technology path.
The CLI family starts from fifty product design documents for command-line and terminal products. They cover VeritySpec tooling, repository diagnostics, environment checks, release packets, dependency analysis, local API testing, certificates, ports, scheduling, configuration, schemas, fixtures, documentation checks, prompts, file operations, media utilities, personal productivity, privacy, backups, sync, and local monitoring. The stacks vary there too: Rust, Go, Python, Node, Deno, Bun, .NET, Java, Kotlin, C++, Zig, Ruby, Haskell, Elixir, Dart, Nim, and more.
Each example product begins with the same posture:
The examples are real enough to pressure the system. They are bounded enough to avoid false production claims.
The example prefix is not cosmetic. It is a governance boundary.
When a repository, binary, app identifier, package name, VeritySpec record, issue label, release label, or public reference carries the example scope, it tells humans and agents the same thing: this work is allowed to be useful, but it is not yet a live JasonFurr.com product.
That prevents a common failure mode in AI-assisted product work. If a generated concept looks complete, an agent can accidentally treat it as production-ready. The repository might gain release language, support promises, package identifiers, or deployment assumptions before the product has earned them.
The example boundary blocks that drift. It lets the work proceed while preserving honesty:
The result is more useful than a toy sample. A toy sample is too shallow to teach the production system much. A real product claim is too risky before review. An example-scoped incubator gives the system room to learn without pretending.
The examples are separate from live products, but they are not dead ends.
The intended lifecycle is:
The example stage is for dogfooding, validation, workflow hardening, implementation experiments, fixture design, and VeritySpec feedback. The product may have a strong source design, but the public claim is still example-scoped.
The product-candidate stage requires explicit review. At that point the product name, repository name, binary or app identifier, license posture, privacy stance, support model, release scope, website copy, and promotion plan need approval. This stage is where the example begins to become a real product decision.
The live product stage requires a stronger gate. A live product needs production identifiers, release evidence, legal/support posture, distribution decisions, website publication, and owner approval. For GUI products that can include signed installers, notarization, checksums, SBOMs, release notes, and support-bundle behavior. For CLI products that can include binaries, shell completions, package manifests, checksums, signatures, help snapshots, output schema fixtures, and versioned release packets.
The promotion path is important because it changes the meaning of the examples. They are not throwaway demos. They are candidates being grown under controlled conditions.
The examples are also a practical way to harden VeritySpec.
VeritySpec is strongest when it is forced to model real product surfaces: not just abstract features, but the concrete promises a product makes to users, installers, command-line interfaces, support workflows, release packets, and future agents.
The GUI examples expose one class of pressure. Cross-platform desktop products need first-class ways to describe screens, navigation models, UI states, local-first storage, import/export flows, release gates, installer artifacts, privacy summaries, accessibility expectations, support bundles, and shared-library dependencies. Those ideas can be written in prose, but the goal is to make them structured enough for validation and evidence.
The CLI examples expose a different class of pressure. A command-line product can be tested at the contract level very early. It has command names, arguments, flags, global flags, help text, output formats, exit codes, stdout rules, stderr rules, dry-run behavior, config search order, data paths, shell completions, and release packets. Those are not implementation details after the fact. They are product promises.
The examples already produced two VeritySpec handoff issues:
The local example packs keep the repositories valid today without forcing unreviewed concepts into VeritySpec. The handoff issues give the VeritySpec agent a concrete backlog of reusable gaps discovered through actual product-shaped use.
That is the key feedback loop: examples pressure VeritySpec; VeritySpec improvements make future examples and products stronger.
The examples are structured so an AI agent can run an operating loop on them.
For a GUI example, one iteration can take a primary workflow from the product design document and harden it into records, fixtures, validation, and eventually implementation. The loop can inspect source evidence, update VeritySpec, add screen/workflow/data/release-gate records, add focused tests, update the roadmap, record shared-library candidates, and leave the repository clean.
For a CLI example, one iteration can harden the command contract. The loop can inspect the command map, generate fixtures, test help output, validate global flags, define stdout schemas, check stderr policy, enforce exit-code expectations, and record release-packet requirements before deep implementation begins.
The point is not to ask an agent to do everything at once. The point is to give it a narrow, repeatable production unit:
That loop turns a large portfolio into a sequence of bounded work items. It also creates good stopping points. If a product needs legal review, a signing key, a platform decision, a package-manager account, a support policy, or a product-name decision, the agent should stop and surface the blocker instead of inventing certainty.
A template gives a project a starting shape. These examples go further.
The templates define the starting contract, but the portfolios test whether the contract survives variety. Fifty GUI examples and fifty CLI examples are enough to reveal weak assumptions. If a schema only works for one stack, that becomes visible. If an issue template cannot describe a release packet, that becomes visible. If a validation rule treats prose as truth but cannot connect it to fixtures, that becomes visible. If an agent can update code without updating records, that becomes visible.
This is why the examples are intentionally broad. A local clipboard GUI, a privacy ledger, a prompt workflow app, a release-packet CLI, a file safety tool, and a terminal dashboard do not all stress the same parts of the system. Together they make the production process harder to fake.
The shared-library strategy follows the same rule. Candidate libraries are recorded early, but not extracted prematurely. A reusable module should only become a shared library after more than one product proves the same behavior and the second implementation shows the abstraction is not product-specific. Until then, it remains a candidate with traceability.
That keeps reuse honest. It avoids turning the first implementation into a platform just because it was first.
The examples are built around evidence-first language.
An example can say it has a source design document. It can say it has seeded VeritySpec records. It can say local validation passed. It can say GitHub Actions passed. It can say a promotion checklist exists.
It should not say it is commercially ready unless commercial readiness has evidence. It should not say it is legally safe unless legal review exists. It should not say a release is signed unless signing happened. It should not say support is live unless support policy and publication have been approved. It should not say a package is available unless the package has actually been published.
This is a useful discipline for AI work because AI systems are good at producing plausible launch language. The repository has to push in the opposite direction. It should make the true state easy to state and the unearned claim hard to make.
That is why release, deployment, package publication, store submission, production identifiers, legal publication, analytics, support commitments, and live JasonFurr.com promotion remain approval-gated.
JasonFurr.com is the public surface, so it has a stricter role than the private example repositories.
The website can explain the production method. It can publish articles and devlogs. It can describe VeritySpec, VerityFoundry, spec-driven production, and the example-incubation strategy. It can describe the existence of example portfolios as an operating model.
It should not expose private repository links as if they were public product pages. It should not list example products as live tools. It should not make release or support promises for incubating work. When an example becomes a product candidate, the website can gain approved candidate copy. When it becomes a live product, the website can gain the real product page, legal/support links, release notes, and distribution routes.
That keeps the public story aligned with the private production truth.
The goal is to make continuous AI-assisted product work practical without making it sloppy.
The examples let agents operate across many product surfaces. The templates keep repository structure consistent. The source PDDs preserve original intent. VeritySpec keeps product truth executable. GitHub keeps workflow visible. CI keeps claims checked. Promotion gates keep examples separate from live products. Handoff issues keep reusable gaps from being buried inside local workarounds.
If the system works, each iteration does more than move one repository forward. It improves the operating environment for the next iteration. A better CLI command-contract validator helps every CLI example. A better GUI screen-state schema helps every GUI example. A clearer promotion checklist helps every future product candidate. A stronger VeritySpec pack reduces local ad hoc rules. A better shared-library extraction policy prevents premature abstraction.
That compounding effect is the real value.
The examples are not the destination. They are the training ground, the pressure test, and the incubation layer. Some may remain examples forever. Some may become product candidates. A few may become live JasonFurr.com products. The important thing is that the path is explicit, evidence-backed, and safe for continuous AI work.
Executable product contracts for humans, tools, and agents.
AI prompt workflows for fabricating, interviewing, and refining VeritySpec workspaces.
A shared SDK-free Unity package foundation for the spec-driven game portfolio.