docs: Axion + PolyVerdict production readiness plan - #1
Merged
mosesman831 merged 10 commits intoJul 16, 2026
Conversation
Spec the highest-priority fixes for OSS deploy of Phase 1 Lens, with PolyVerdict sequenced as opt-in enforce mode after the observe path is honest and usable. No runtime code changes yet. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
All product decisions locked: passthrough auth, flat timeline, OpenAI+Anthropic adapters, paste-session dashboard, PolyVerdict opt-in enforce mode (syntax+coerce+retry). Ready to build. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
Replace the session <select> with a text input + Load button. Prefill from ?session= query or the axion.sessionId localStorage key on mount. Rename the 'Wrong beliefs only' filter to 'Low confidence only' (confidence < 0.4) and guard BeliefCard against missing confidence. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
Add 'test' (vitest run) and 'check' (tsc --noEmit && vitest run) npm scripts, a GitHub Actions CI workflow running npm run check on Node 20 for pull_request and push to main, plus .dev.vars.example, CONTRIBUTING.md, and SECURITY.md. SECURITY documents that the beliefs API is unauthenticated in Phase 1 and the session id is a capability URL. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
- Split because-of / because into two patterns (group 1) so causal beliefs are extracted from "Because of ..." sentences - Set evidenceGroup: 1 on all evidence patterns (belief + evidence hold cited text) - Replace midpoint confidence interpolation with additive delta modifiers, clamped to [0.1, 1.0] - Allow end-of-string as a clause terminator in patterns - Add thorough extract.test.ts (vitest) Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
…helpers Implements BUILD-SPEC section 7 (opt-in enforce path): - schema.ts: zero-dep JSON Schema subset validator + type coercion (type/properties/required/items/enum, nested, unknown keywords ignored), plus stripMarkdownFences and parseJsonFromAssistant. - enforce.ts: detectSchemaTrigger (x-axion-schema header + response_format json_schema), enforceOnce, OpenAI/Anthropic retry-hint injection, MAX_ENFORCE_ATTEMPTS=3, and a pure runEnforceLoop driver. - types.ts, index.ts: shared types and re-exports. - schema.test.ts: valid/missing-required/coerce/enum/nested/fence-strip (28 tests). Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
- content.ts: extractOpenAIAssistantText, extractAnthropicAssistantText, extractAssistantText (transport-aware dispatcher) - stream.ts: parseAnthropicSseData, final TextDecoder flush, provider-aware tee (backward-compatible openai default) - providers/: ProviderAdapter interface, openai + anthropic adapters, matchProvider registry - content.test.ts + stream.test.ts coverage Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
DO stores sessionName and returns flat ExtractedBelief[]; extraction passes sessionId into the lens. Includes pure flatten helpers + tests. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
Integrate OpenAI + Anthropic observe paths with passthrough auth, content-normalized Lens extraction, and opt-in PolyVerdict schema enforcement. Truth-align README/SPEC/TECHNICAL/PLAN with shipped code. Co-authored-by: Moses Man <mosesman831@users.noreply.github.com>
mosesman831
marked this pull request as ready for review
July 16, 2026 15:41
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Locked
BUILD-SPEC.mdand implemented Axion Phase 1 + PolyVerdict v1 for OSS production readiness.Locked decisions (implemented)
UPSTREAM_API_KEY→ else 401 (neverBearer undefined)@plannedonly)/v1/chat/completions+ Anthropic/v1/messages?session=/ localStorage)x-axion-schemaorresponse_format.json_schema); syntax validate + coerce + retry ≤3What shipped
because offix, evidence field, additive confidence[0.1,1.0], session stampsessionIdnpm test/npm run check, CI, CONTRIBUTING, SECURITY,.dev.vars.exampleVerification
Intentionally not built
Belief DAG / root-cause,
/api/sessionsregistry, Loop, Gate tool blocking, semantic PolyVerdict, schema-registry DO.Docs
BUILD-SPEC.md— locked build contract (acceptance checklist checked)PLAN.md— waves marked implemented