Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
d764db4
docs(ai): design proposal quality evaluation
seonghobae Aug 5, 2026
202dc37
docs(ai): plan proposal quality evaluation
seonghobae Aug 5, 2026
df230f1
test(ai): define proposal quality evaluation contract
seonghobae Aug 5, 2026
d300482
test(ai): define realistic proposal evaluation suite
seonghobae Aug 5, 2026
e62e95b
feat(ai): add immutable proposal quality evaluator
seonghobae Aug 5, 2026
7af16d9
test(ai): add realistic proposal evaluation fixtures
seonghobae Aug 5, 2026
4b0a376
ci(ai): emit proposal evaluator formatter patch
seonghobae Aug 5, 2026
744a4bd
ci(ai): exercise formatted evaluator implementation
seonghobae Aug 5, 2026
aac8779
fix(ai): align proposal quality semantics and metadata validation
seonghobae Aug 5, 2026
a5b72e0
test(ai): close proposal quality coverage and semantic gaps
seonghobae Aug 5, 2026
cfc5746
test(ai): correct and condense proposal quality coverage
seonghobae Aug 5, 2026
ea794de
ci(ai): restore immutable quality formatting gate
seonghobae Aug 5, 2026
544e982
docs(ai): add proposal quality evaluation runbook
seonghobae Aug 5, 2026
30fb625
docs(ai): record proposal evaluation research basis
seonghobae Aug 5, 2026
a61447d
build(ai): lint proposal quality evidence
seonghobae Aug 5, 2026
c1cd06f
docs(ai): record proposal quality evaluation
seonghobae Aug 5, 2026
9a3bc57
ci(ai): emit proposal evaluator format patch
seonghobae Aug 5, 2026
690b767
ci(ai): capture canonical proposal evaluator formatting
seonghobae Aug 5, 2026
8a68d44
ci(ai): expose proposal formatter artifact to PR checks
seonghobae Aug 5, 2026
a6e9bd7
ci(ai): apply canonical formatter output
seonghobae Aug 5, 2026
1ba6411
style(ai): apply canonical proposal evaluator formatting
github-actions[bot] Aug 5, 2026
80b77a7
ci(ai): remove one-shot proposal formatter
seonghobae Aug 5, 2026
1405f76
ci(ai): apply deterministic Unicode normalization fix
seonghobae Aug 5, 2026
697d160
fix(ci): apply normalization repair without unsafe interpolation
seonghobae Aug 5, 2026
3ccce4f
fix(ai): canonicalize forbidden text deterministically
github-actions[bot] Aug 5, 2026
8da35d7
test(ai): capture proposal quality review regressions
seonghobae Aug 6, 2026
8067633
test(ai): preserve unexpected nested validation failures
seonghobae Aug 6, 2026
aa57339
fix(ai): normalize fixture errors and isolate provider failures
seonghobae Aug 6, 2026
bb809c3
docs(ai): align operation-count assurance boundary
seonghobae Aug 6, 2026
82df055
docs(ai): align conformance and CyberSecEval evidence
seonghobae Aug 6, 2026
6c7fe81
docs(ai): identify production operation-count guarantee
seonghobae Aug 6, 2026
bc58020
fix(ai): read regression fixtures under CommonJS
seonghobae Aug 6, 2026
be38aea
style(ai): format proposal review regressions
seonghobae Aug 6, 2026
d4570bd
style(ai): make review regressions prettier-stable
seonghobae Aug 6, 2026
76c3f06
ci(ai): materialize exact Prettier output once
seonghobae Aug 6, 2026
a3fa648
style(ai): apply repository Prettier layout
seonghobae Aug 6, 2026
a97104b
ci(ai): remove one-shot formatter workflow
seonghobae Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ All notable changes to LifeOS are documented in this file.

### Added

- A versioned, immutable AI proposal quality evaluator that separates production validity, semantic operation conformance, evidence grounding, benign utility, forbidden-text leakage, and prompt-injection resistance across realistic English, Korean, temporal, empty-context, completed-item, and adversarial fixtures.
- An explicit `contextual-orchestrator` proposal-model mode with bounded OpenAI-compatible transport, strict structured output, model provenance, and an independent local rule-based default.
- Executable AI-service JSDoc and exact 100% statement, branch, function, and line coverage gates, with an operator-facing governance assurance boundary.
- Tenant-safe durable planning search across goals, projects, and tasks, with Unicode-normalized exact, prefix, and whole-token matching.
Expand All @@ -29,6 +30,7 @@ All notable changes to LifeOS are documented in this file.

### Security

- Proposal quality reports now discard nested model failures and response bodies, normalize labeled sentinel checks, expose no provider credential or mutation dependency, and measure prompt-injection resistance together with benign utility instead of rewarding blanket refusal.
- External proposal generation now accepts only one credential-free HTTPS orchestrator origin, stops responses at 65536 bytes, enforces a bounded abort timeout, supplies no tools, treats planning context as untrusted data, and exposes only sanitized failures.
- AI gateway service-context authentication now carries an integrity-protected key identifier, signs only with one active key, verifies one explicitly selected active or previous key during a bounded overlap, and rejects retired identifiers immediately without trial verification.
- Planning-search upstream responses are stopped at a fixed byte limit before they can be fully buffered by the web boundary.
Expand Down
2 changes: 1 addition & 1 deletion apps/ai-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"scripts": {
"build": "nest build",
"dev": "nest start --watch --entryFile server",
"lint": "tsc --noEmit && prettier --single-quote --check package.json tsconfig.json vitest.config.ts \"src/**/*.ts\" ../../docs/operations/ai-proposal-audit-assurance.md ../../docs/superpowers/specs/2026-08-04-ai-service-quality-gates-design.md ../../docs/superpowers/plans/2026-08-04-ai-service-quality-gates.md migrations/README.md ../../docs/operations/ai-gateway-key-rotation.md ../../docs/research/2026-08-04-ai-gateway-key-rotation-standards.md ../../docs/superpowers/specs/2026-08-04-ai-gateway-key-rotation-design.md ../../docs/superpowers/plans/2026-08-04-ai-gateway-key-rotation.md ../../docs/operations/contextual-orchestrator-proposal-transport.md ../../docs/research/2026-08-05-contextual-orchestrator-proposal-transport-standards.md ../../docs/superpowers/specs/2026-08-05-contextual-orchestrator-proposal-transport-design.md ../../docs/superpowers/plans/2026-08-05-contextual-orchestrator-proposal-transport.md",
"lint": "tsc --noEmit && prettier --single-quote --check package.json tsconfig.json vitest.config.ts \"src/**/*.ts\" ../../docs/operations/ai-proposal-audit-assurance.md ../../docs/superpowers/specs/2026-08-04-ai-service-quality-gates-design.md ../../docs/superpowers/plans/2026-08-04-ai-service-quality-gates.md migrations/README.md ../../docs/operations/ai-gateway-key-rotation.md ../../docs/research/2026-08-04-ai-gateway-key-rotation-standards.md ../../docs/superpowers/specs/2026-08-04-ai-gateway-key-rotation-design.md ../../docs/superpowers/plans/2026-08-04-ai-gateway-key-rotation.md ../../docs/operations/contextual-orchestrator-proposal-transport.md ../../docs/research/2026-08-05-contextual-orchestrator-proposal-transport-standards.md ../../docs/superpowers/specs/2026-08-05-contextual-orchestrator-proposal-transport-design.md ../../docs/superpowers/plans/2026-08-05-contextual-orchestrator-proposal-transport.md ../../docs/operations/ai-proposal-quality-evaluation.md ../../docs/research/2026-08-05-ai-proposal-quality-evaluation-standards.md ../../docs/superpowers/specs/2026-08-05-ai-proposal-quality-evaluation-design.md ../../docs/superpowers/plans/2026-08-05-ai-proposal-quality-evaluation.md",
"test": "vitest run --no-file-parallelism --coverage",
"typecheck": "tsc --noEmit",
"start": "node dist/server.js"
Expand Down
Loading
Loading