What remains before Circe fulfills its product thesis?
The transactional foundation is implemented. The general semantic interaction product still needs substantial application behavior and real-world evidence.
This inventory includes code in open PRs #9 and #10 at 927c9ea. Both PRs remain unmerged. Durable semantic context, continuation corrections and the live transport are therefore implemented in branches but still pending integration into main.
The API key is one validation blocker. It is not the only unfinished work.
What is already implemented
Typed intents and effects, revision-bound authorization, confirmation gates, authority evidence checks, UNKNOWN outcomes and recovery; structured context and evidence classes; bounded frame assembly, provenance and invalidation; accepted-decision enforcement and proposition compilation. PRs #9 and #10 add file-backed semantic context, a continuing host, pinned interpretation replay, decision persistence and live transport code. These are useful components worth keeping. Their tests do not prove broad semantic competence.
Remaining product work
General bounded interpretation
The workflow engine, bounded decision types, accepted-turn compiler and TypeSafe transport exist. The demo handles a known pair; the live evaluation has a small request/query and single-target workflow.
Remaining. Build the reusable interpretation graph over the actual frame: act, singular/set referents, per-candidate include/exclude roles, operation, capability, risk and slot decisions. Use exact structural resolution when state already supplies the answer. Scenario-specific questions and proposition builders cannot stand in for this.
Completion evidence. Previously unseen wording and candidate identities produce grounded typed propositions for both task and message cases, including plural sets and mixed include/exclude clauses. No new English regexes or synonym routing.
apps/inspector/src/scenario.ts:37 · apps/inspector/src/heldout.ts:158 · packages/perception/src/proposals.ts:198
Complete continuing language interactions
Kernel revisions, gates, cancellations and recovery exist. PR #10 exposes typed commands and reconciliation through the durable host.
Remaining. Translate accepted language decisions into confirmation, cancellation, revision, resumption and slot filling, using the current obligation and intent revision. Turn an ambiguous result into a question, record that obligation, interpret the answer and safely continue. Implement grounded query answers rather than only blocking query mutations.
Completion evidence. A user can ask for work, clarify the target, say "yes, except the second one", restart, inspect pending work and resume it. Ambiguous acknowledgements never authorize effects and corrections revoke the old confirmation.
apps/inspector/src/host.ts:252 · packages/perception/src/proposals.ts:52 · packages/perception/src/proposals.ts:198
Populate and reuse semantic knowledge
Entities, observations, relations, events, assertions, annotations, phrase bindings and dependency invalidation have storage contracts. The file adapter persists them. The continuing host writes observations, frames, decision traces and interpreted turns.
Remaining. Choose which accepted assessment results become reusable beliefs or interaction bindings; publish them with frame provenance and dependency links. Reuse valid records in later decisions and recompute invalidated ones when needed. Existing ingestion helpers must be integrated into the host with replay-safe publication. This does not mean promoting every judgment into a fact.
Completion evidence. A judgment such as "these messages concern the same issue" survives restart, helps resolve a later reference, and stops being used when its supporting evidence changes. A phrase binding is recorded from actual interaction, not seeded by a fixture.
packages/context/src/ingest.ts:167 · packages/context/src/ingest.ts:196 · packages/context/src/store.ts:284 · apps/inspector/src/host.ts:370
Layer 2 deliberation
DeliberationRequest, DeliberationResult and DeliberationOperator are defined; policy can return DELIBERATION_REQUIRED.
Remaining. Implement an operator and host handoff for diagnosis, planning, summarization and content drafting. Decode the returned output into the promised shape, retain provenance and ground any resulting action through the normal kernel checks. Returning a status alone does not execute deliberation.
Completion evidence. An actual diagnosis or draft request reaches a reasoning model, returns a validated result and can continue the interaction. Generated plans cannot directly invoke tools or bypass confirmation and authority checks.
packages/perception/src/types.ts:164 · packages/perception/src/orchestrator.ts:158
One real application integration
Authority and executor contracts support observation, version checks, execution and reconciliation. The inspector and test worlds exercise these contracts.
Remaining. Add at least one real domain adapter and a continuing host entry point that can populate context without hand-fed fixture candidates. Show authentic versions, changing relationships and outcomes. A minimal CLI or API is sufficient for the first runtime release; a polished UI is not part of the original kernel requirement.
Completion evidence. A real service can be observed, queried and safely changed, then the host can restart and reconcile without duplicating the operation. Keep service concepts in the adapter, not in core.
apps/inspector/src/demo.ts:1 · apps/inspector/src/host.ts:271
Live semantic evaluation and risk calibration
PR #10 adds the live TypeSafe transport and eval:live. Contract, mocked HTTP and fixture tests pass. No live model run has been performed.
Remaining. Configure API access and an account-supported model; then run representative held-out task and message cases through real retrieval and interpretation. Include the original "needs me", Sarah, risky-operation, launch-blocker and same-issue cases. Separate retrieval misses from interpretation errors. Measure false actions, abstention, correction success, latency and cost; tune policy on separate calibration data.
Completion evidence. Versioned real-model results support the chosen operating limits, with no gold candidates inserted into production retrieval. Keep deterministic RED tests as anti-parser guards and add semantic success tests alongside them. Green anti-parser tests are not semantic success.
apps/inspector/src/live-cli.ts:8 · packages/evals/src/semantic-red.test.ts:19 · packages/perception/src/policy.ts:35
Retrieval and durable-history scale
Seed providers, graph expansion, pinning and explicit truncation are implemented. Model frames are bounded.
Remaining. Measure candidate recall, latency and resource use with realistic histories and distractors. Bounding the returned frame does not bound all retrieval work: the term provider walks store.entities(), and file appends re-read the log. Add indexes or snapshots/compaction where measurements require them.
Completion evidence. The intended data size has a measured retrieval budget and recall target; persistent history does not make turn latency grow without a supported limit. Tests cover relevant entities outside current scope and truncated evidence.
packages/context/src/seeds.ts:237 · packages/file-log/src/index.ts:81
Production hardening, separate from the first complete slice
File stores currently assume one process owns a path. Decide supported history sizes and document them. Add retention, compaction, backup/restore, explicit format migrations and operational monitoring as the deployment requires. Multi-process operation is not mandatory if the first release explicitly supports one writer. Public multi-tenant auth, a visual editor, mobile/voice clients and a coding-agent control plane are not implied by the original product thesis.
A concrete implementation sequence
- Complete one continuing semantic interaction. Integrate reviewed PRs when authorized. Build P1 and P2 over one real adapter, covering request, clarification, correction, query, confirmation and restart. Run live shadow evaluation before enabling consequential operations.
- Make the durable semantic environment useful. Add P3 publication and reuse, then prove changed evidence invalidates prior judgments across restart. Implement one P4 reasoning task with validated output through the same contracts.
- Prove the supported operating range. Expand P6 across both original domains, calibrate acceptance separately from evaluation, and measure P7 on representative histories. Complete the storage hardening justified by that target.
These are acceptance milestones, not time estimates. The next work should exercise the whole product, not add another general framework around the scripted examples.
First-release acceptance scenario
Populate a real world without gold candidates. Ask which items need attention. Exclude one, act on another, correct the target, answer a clarification and confirm the right revision. Restart during the interaction. Ask about the same issue later using retained semantic knowledge. Change the supporting evidence and verify the old belief is no longer current. Request a diagnosis through Layer 2. Record why each decision was accepted and prove that no unintended or duplicate operation occurred.
No code was changed or tests rerun for this inventory. The previously verified corrective head has 466 repository tests and 147 prior review checks passing. Documentation was treated as design intent; implementation claims above were checked in source.