@oscharko-dev/keiko 0.2.0-beta.7 → 0.2.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/csp-hashes.json +14 -14
- package/dist/ui/static/404.html +1 -1
- package/dist/ui/static/__next.__PAGE__.txt +2 -2
- package/dist/ui/static/__next._full.txt +3 -3
- package/dist/ui/static/__next._head.txt +1 -1
- package/dist/ui/static/__next._index.txt +2 -2
- package/dist/ui/static/__next._tree.txt +2 -2
- package/dist/ui/static/_next/static/chunks/06-q1ntr51v8r.js +1 -0
- package/dist/ui/static/_next/static/chunks/0y9qlvrxsyign.js +109 -0
- package/dist/ui/static/_next/static/chunks/1h0v66-p9cx19.css +1 -0
- package/dist/ui/static/_next/static/chunks/3ewv4mguqzooj.js +1 -0
- package/dist/ui/static/_not-found/__next._full.txt +2 -2
- package/dist/ui/static/_not-found/__next._head.txt +1 -1
- package/dist/ui/static/_not-found/__next._index.txt +2 -2
- package/dist/ui/static/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/ui/static/_not-found/__next._not-found.txt +1 -1
- package/dist/ui/static/_not-found/__next._tree.txt +2 -2
- package/dist/ui/static/_not-found.html +1 -1
- package/dist/ui/static/_not-found.txt +2 -2
- package/dist/ui/static/fonts/OFL.txt +93 -0
- package/dist/ui/static/fonts/jetbrains-mono-latin-wght-normal.woff2 +0 -0
- package/dist/ui/static/index.html +1 -1
- package/dist/ui/static/index.txt +3 -3
- package/dist/ui/static/launch/__next._full.txt +3 -3
- package/dist/ui/static/launch/__next._head.txt +1 -1
- package/dist/ui/static/launch/__next._index.txt +2 -2
- package/dist/ui/static/launch/__next._tree.txt +2 -2
- package/dist/ui/static/launch/__next.launch.__PAGE__.txt +2 -2
- package/dist/ui/static/launch/__next.launch.txt +1 -1
- package/dist/ui/static/launch.html +1 -1
- package/dist/ui/static/launch.txt +3 -3
- package/dist/ui/static/local-knowledge/__next._full.txt +3 -3
- package/dist/ui/static/local-knowledge/__next._head.txt +1 -1
- package/dist/ui/static/local-knowledge/__next._index.txt +2 -2
- package/dist/ui/static/local-knowledge/__next._tree.txt +2 -2
- package/dist/ui/static/local-knowledge/__next.local-knowledge.__PAGE__.txt +2 -2
- package/dist/ui/static/local-knowledge/__next.local-knowledge.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next._full.txt +3 -3
- package/dist/ui/static/local-knowledge/capsule/__next._head.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next._index.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next._tree.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.__PAGE__.txt +2 -2
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.capsule.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule/__next.local-knowledge.txt +1 -1
- package/dist/ui/static/local-knowledge/capsule.html +1 -1
- package/dist/ui/static/local-knowledge/capsule.txt +3 -3
- package/dist/ui/static/local-knowledge.html +1 -1
- package/dist/ui/static/local-knowledge.txt +3 -3
- package/dist/ui/static/memoriaviva/__next._full.txt +2 -2
- package/dist/ui/static/memoriaviva/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/__next.memoriaviva.__PAGE__.txt +1 -1
- package/dist/ui/static/memoriaviva/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next._full.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.__PAGE__.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.consolidation.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/consolidation.html +1 -1
- package/dist/ui/static/memoriaviva/consolidation.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next._full.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/detail/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.__PAGE__.txt +1 -1
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.detail.txt +1 -1
- package/dist/ui/static/memoriaviva/detail/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/detail.html +1 -1
- package/dist/ui/static/memoriaviva/detail.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next._full.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next._head.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue/__next._index.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next._tree.txt +2 -2
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.__PAGE__.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.review-queue.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue/__next.memoriaviva.txt +1 -1
- package/dist/ui/static/memoriaviva/review-queue.html +1 -1
- package/dist/ui/static/memoriaviva/review-queue.txt +2 -2
- package/dist/ui/static/memoriaviva.html +1 -1
- package/dist/ui/static/memoriaviva.txt +2 -2
- package/dist/ui/static/sw.js +7 -3
- package/node_modules/@oscharko-dev/keiko-cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/memory.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-cli/dist/memory.js +4 -5
- package/node_modules/@oscharko-dev/keiko-cli/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts +36 -4
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/bffWire.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-contracts/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-evaluations/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts +15 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/schema.js +13 -3
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts +13 -0
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/figmaSnapshot/store.js +46 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-evidence/dist/qualityIntelligence/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-evidence/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-harness/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-harness/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/pdf-parser.js +0 -10
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts +2 -2
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-local-knowledge/dist/parsers/types.js +3 -3
- package/node_modules/@oscharko-dev/keiko-local-knowledge/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-capture/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-consolidation/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/maintenance.d.ts +2 -16
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/maintenance.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/maintenance.js +49 -48
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/retention.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/retention.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-governance/dist/retention.js +15 -0
- package/node_modules/@oscharko-dev/keiko-memory-governance/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/decay.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/decay.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/decay.js +22 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/diversity.d.ts +8 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/diversity.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/diversity.js +87 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/index.d.ts +4 -2
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/index.js +4 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.d.ts +5 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/ranking.js +140 -21
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/recency.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/recency.js +4 -10
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/retrieve.js +11 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/strength.d.ts +9 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/strength.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/strength.js +51 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts +11 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/dist/types.js +7 -0
- package/node_modules/@oscharko-dev/keiko-memory-retrieval/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/access.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/access.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/access.js +31 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/schema.js +16 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/types.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/dist/vault.js +4 -1
- package/node_modules/@oscharko-dev/keiko-memory-vault/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-model-gateway/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts +8 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/figma/screenIrTestBaseline.js +9 -5
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts +6 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testDesignModel.js +116 -21
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testQualityRubric.d.ts +6 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testQualityRubric.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/testQualityRubric.js +12 -0
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/domain/validation.js +8 -7
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/parseGeneratedCandidates.js +29 -7
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/generation/prompt.js +61 -24
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/dist/index.js +1 -1
- package/node_modules/@oscharko-dev/keiko-quality-intelligence/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-sdk/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-sdk/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-security/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-security/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/chat-handlers.js +44 -65
- package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/conversation-prompt.js +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/deps.js +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/gateway-setup.js +333 -70
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-orchestrator.js +410 -18
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-prompt.js +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-hybrid.js +7 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa-multi-source.js +4 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/grounded-qa.js +4 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/local-knowledge-grounded-qa.js +8 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-conv-handlers.js +34 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-embedding.d.ts +12 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-embedding.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-embedding.js +127 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-handlers.js +40 -11
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts +16 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-maintenance-handlers.js +72 -50
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-retrieval-signals.d.ts +12 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-retrieval-signals.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-retrieval-signals.js +84 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/memory-salience.js +11 -6
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaConnector.js +9 -4
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts +6 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaScopedPagination.js +10 -9
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts +2 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotBuilder.js +62 -26
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotHash.js +6 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts +14 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figma/figmaSnapshotTypes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts +33 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotRoutes.js +263 -5
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts +19 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotScreenIds.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/figmaSnapshotScreenIds.js +75 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/judgePort.js +13 -12
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts +6 -6
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/modelSelection.js +12 -7
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/reCheckRoutes.js +34 -3
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts +4 -2
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runIngestion.js +222 -35
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts +7 -0
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/qualityIntelligence/runRoutes.js +68 -16
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-server/dist/routes.js +7 -1
- package/node_modules/@oscharko-dev/keiko-server/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-tools/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-verification/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-verification/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/anchors.js +45 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/index.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/index.js +1 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/intent.d.ts +8 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/intent.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/intent.js +140 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts +2 -0
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/planner/plan.js +21 -5
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js +86 -40
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workflows/dist/ranking/rank.js +9 -0
- package/node_modules/@oscharko-dev/keiko-workflows/package.json +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/.tsbuildinfo +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/index.d.ts +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/index.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts +3 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearch.js +23 -6
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchMatchers.js +24 -3
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchPolicy.d.ts +34 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchPolicy.d.ts.map +1 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchPolicy.js +342 -0
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts +6 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.d.ts.map +1 -1
- package/node_modules/@oscharko-dev/keiko-workspace/dist/repoSearchScan.js +57 -9
- package/node_modules/@oscharko-dev/keiko-workspace/package.json +1 -1
- package/package.json +2 -1
- package/dist/ui/static/_next/static/chunks/0-qhhdvxg2j_y.js +0 -1
- package/dist/ui/static/_next/static/chunks/0ke4ratkgvcxo.css +0 -1
- package/dist/ui/static/_next/static/chunks/3vf3oh2-sl2nc.js +0 -1
- package/dist/ui/static/_next/static/chunks/3wmd4-2vznp2g.js +0 -106
- /package/dist/ui/static/_next/static/{frhs0YcUqCPLHal-wHjDP → a5sUbXeTgQ9A2LRTMu_Q_}/_buildManifest.js +0 -0
- /package/dist/ui/static/_next/static/{frhs0YcUqCPLHal-wHjDP → a5sUbXeTgQ9A2LRTMu_Q_}/_clientMiddlewareManifest.js +0 -0
- /package/dist/ui/static/_next/static/{frhs0YcUqCPLHal-wHjDP → a5sUbXeTgQ9A2LRTMu_Q_}/_ssgManifest.js +0 -0
package/node_modules/@oscharko-dev/keiko-workflows/dist/qualityIntelligence/modelRoutedTestDesign.js
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
// is injected as an abstract `generate` port so this module stays free of provider SDKs and the
|
|
7
7
|
// server tier owns the gateway wiring (ADR-0023 D5/D6).
|
|
8
8
|
import { QualityIntelligence as QI } from "@oscharko-dev/keiko-contracts";
|
|
9
|
-
import { buildAtomCoverageStatuses, buildCoverageMap, buildRequirementExcerpt, computeCandidateEquivalenceSignature, deduplicateCandidates, deriveIntent, designTestCaseCandidates, scoreFromDimensions, TEST_QUALITY_WEAK_THRESHOLD, validateCandidates, QualityIntelligenceGeneration, } from "@oscharko-dev/keiko-quality-intelligence";
|
|
9
|
+
import { buildAtomCoverageStatuses, buildCoverageMap, buildRequirementExcerpt, computeCandidateEquivalenceSignature, deduplicateCandidates, deriveIntent, designTestCaseCandidates, scoreFromDimensions, TEST_QUALITY_WEAK_THRESHOLD, verdictFromDimensions, validateCandidates, QualityIntelligenceGeneration, } from "@oscharko-dev/keiko-quality-intelligence";
|
|
10
10
|
import { sha256Hex } from "@oscharko-dev/keiko-security";
|
|
11
11
|
import { QI_TEST_DESIGN_WORKFLOW_DESCRIPTOR } from "./descriptors.js";
|
|
12
|
-
import { emit, emitCandidateProposed, emitFindingsRecorded, emitQueuedAndStarted, finaliseFailureOrCancellation, makeContext, persistRun, StageCancelledError, toCoverageMatrixRows, truncateCandidates, truncateFindings, withStage, } from "./runtimeCommon.js";
|
|
12
|
+
import { emit, emitCandidateProposed, emitFindingsRecorded, emitQueuedAndStarted, finaliseFailureOrCancellation, makeContext, persistRun, safeReasonSummary, StageCancelledError, toCoverageMatrixRows, truncateCandidates, truncateFindings, withStage, } from "./runtimeCommon.js";
|
|
13
13
|
import { isCancelled } from "./cancellation.js";
|
|
14
14
|
class EmptyEvidenceError extends Error {
|
|
15
15
|
constructor() {
|
|
@@ -71,8 +71,8 @@ function buildCoverageGapFinding(runId, atomStatus, ordinal, excerpt) {
|
|
|
71
71
|
? `Atom ${String(atomStatus.atomId)}`
|
|
72
72
|
: `Atom ${String(atomStatus.atomId)} ("${excerpt}")`;
|
|
73
73
|
const summary = atomStatus.status === "uncovered"
|
|
74
|
-
? `${atomLabel}
|
|
75
|
-
: `${atomLabel}
|
|
74
|
+
? `${atomLabel} hat keinen zugeordneten Test (uncovered).`
|
|
75
|
+
: `${atomLabel} ist nur schwach abgedeckt (kein dedizierter Test referenziert dieses Atom).`;
|
|
76
76
|
return Object.freeze({
|
|
77
77
|
kind: "coverage-gap",
|
|
78
78
|
id: QI.asQualityIntelligenceValidationFindingId(idStr),
|
|
@@ -82,11 +82,20 @@ function buildCoverageGapFinding(runId, atomStatus, ordinal, excerpt) {
|
|
|
82
82
|
evidenceAtomIds: Object.freeze([atomStatus.atomId]),
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
|
+
const MODEL_DELTA_CANDIDATE_CEILING = 16;
|
|
86
|
+
const MODEL_DELTA_CANDIDATE_FLOOR = 3;
|
|
87
|
+
function modelDeltaCandidateLimit(evidenceCount, runLimit) {
|
|
88
|
+
const boundedRunLimit = Math.max(1, Math.trunc(runLimit));
|
|
89
|
+
const evidenceAwareLimit = Math.max(MODEL_DELTA_CANDIDATE_FLOOR, Math.max(1, Math.trunc(evidenceCount)) * 2);
|
|
90
|
+
return Math.max(1, Math.min(boundedRunLimit, MODEL_DELTA_CANDIDATE_CEILING, evidenceAwareLimit));
|
|
91
|
+
}
|
|
85
92
|
function deterministicBaselineCandidates(ctx, input) {
|
|
93
|
+
const atomTextById = new Map(input.ingestedAtoms.map((entry) => [String(entry.atom.id), entry.canonicalText]));
|
|
86
94
|
const candidates = designTestCaseCandidates({
|
|
87
95
|
runId: input.plan.id,
|
|
88
96
|
intent: deriveIntent(input.envelopes, ctx.profile),
|
|
89
97
|
atoms: input.ingestedAtoms.map((entry) => entry.atom),
|
|
98
|
+
atomTextById,
|
|
90
99
|
profile: ctx.profile,
|
|
91
100
|
});
|
|
92
101
|
return truncateCandidates(deduplicateCandidates(candidates), ctx.limits.maxCandidatesPerRun);
|
|
@@ -136,10 +145,10 @@ function selectReviewCandidates(persisted, baseline, delta) {
|
|
|
136
145
|
const persistedDelta = delta.filter((candidate) => persistedIds.has(String(candidate.id)));
|
|
137
146
|
return persistedDelta.length > 0 ? Object.freeze(persistedDelta) : baseline;
|
|
138
147
|
}
|
|
139
|
-
function modelGenerationOutput(result, ctx, input,
|
|
148
|
+
function modelGenerationOutput(result, ctx, input, runCandidateLimit, modelDeltaLimit) {
|
|
140
149
|
const baseline = deterministicBaselineCandidates(ctx, input);
|
|
141
|
-
const delta = parseModelCandidates(result, ctx, input,
|
|
142
|
-
const candidates = appendModelDelta(baseline, delta,
|
|
150
|
+
const delta = parseModelCandidates(result, ctx, input, modelDeltaLimit);
|
|
151
|
+
const candidates = appendModelDelta(baseline, delta, runCandidateLimit);
|
|
143
152
|
return {
|
|
144
153
|
candidates,
|
|
145
154
|
reviewCandidates: selectReviewCandidates(candidates, baseline, delta),
|
|
@@ -152,6 +161,25 @@ function modelGenerationOutput(result, ctx, input, maxCandidates) {
|
|
|
152
161
|
modelParameters: result.modelParameters,
|
|
153
162
|
};
|
|
154
163
|
}
|
|
164
|
+
function baselineFallbackGenerationOutput(ctx, input, reasonSummary) {
|
|
165
|
+
const candidates = deterministicBaselineCandidates(ctx, input);
|
|
166
|
+
return {
|
|
167
|
+
candidates,
|
|
168
|
+
reviewCandidates: candidates,
|
|
169
|
+
skipJudge: true,
|
|
170
|
+
fallbackReason: reasonSummary,
|
|
171
|
+
modelParameters: { generationFallbackReason: reasonSummary },
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function hasQiCode(error, code) {
|
|
175
|
+
if (!(error instanceof Error))
|
|
176
|
+
return false;
|
|
177
|
+
const coded = error;
|
|
178
|
+
return typeof coded.code === "string" && coded.code === code;
|
|
179
|
+
}
|
|
180
|
+
function shouldCountRejectedGenerationDispatch(error) {
|
|
181
|
+
return !hasQiCode(error, "QI_PROMPT_TOO_LARGE");
|
|
182
|
+
}
|
|
155
183
|
async function generateCandidates(ctx, input, deps) {
|
|
156
184
|
if (input.ingestedAtoms.length === 0) {
|
|
157
185
|
throw new EmptyEvidenceError();
|
|
@@ -161,11 +189,12 @@ async function generateCandidates(ctx, input, deps) {
|
|
|
161
189
|
kind: a.atom.kind,
|
|
162
190
|
text: a.canonicalText,
|
|
163
191
|
}));
|
|
164
|
-
const
|
|
192
|
+
const runCandidateLimit = ctx.limits.maxCandidatesPerRun;
|
|
193
|
+
const modelDeltaLimit = modelDeltaCandidateLimit(evidence.length, runCandidateLimit);
|
|
165
194
|
const instruction = QualityIntelligenceGeneration.buildTestDesignInstruction({
|
|
166
195
|
evidenceCount: evidence.length,
|
|
167
196
|
profile: ctx.profile,
|
|
168
|
-
maxTestCases:
|
|
197
|
+
maxTestCases: modelDeltaLimit,
|
|
169
198
|
});
|
|
170
199
|
// Count the generation gateway dispatch as an ATTEMPT, mirroring the judge contract
|
|
171
200
|
// (judgeOneCandidate counts before its await). The generation port makes at most one gateway
|
|
@@ -174,37 +203,43 @@ async function generateCandidates(ctx, input, deps) {
|
|
|
174
203
|
// under-reported a failed run's audit trail as 0 gateway calls (#273 audit; #843 undercount class).
|
|
175
204
|
// The deterministic baseline port never rejects and reports modelCallCount 0, so it is unaffected.
|
|
176
205
|
let result;
|
|
206
|
+
let countedGatewayDispatch = false;
|
|
177
207
|
try {
|
|
178
208
|
result = await deps.generate.generate({
|
|
179
209
|
systemPrompt: QualityIntelligenceGeneration.QI_TEST_DESIGN_SYSTEM_PROMPT,
|
|
180
210
|
instruction,
|
|
181
211
|
evidence,
|
|
182
|
-
maxCandidates,
|
|
212
|
+
maxCandidates: modelDeltaLimit,
|
|
183
213
|
signal: ctx.signal,
|
|
184
214
|
});
|
|
215
|
+
ctx.modelGatewayCallCount += result.modelCallCount;
|
|
216
|
+
countedGatewayDispatch = result.modelCallCount > 0;
|
|
217
|
+
if (result.modelId === undefined && result.modelCallCount === 0) {
|
|
218
|
+
const candidates = deterministicBaselineCandidates(ctx, input);
|
|
219
|
+
return {
|
|
220
|
+
candidates,
|
|
221
|
+
reviewCandidates: candidates,
|
|
222
|
+
...(result.seedUsed !== undefined ? { seedUsed: result.seedUsed } : {}),
|
|
223
|
+
modelParameters: result.modelParameters,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
return modelGenerationOutput(result, ctx, input, runCandidateLimit, modelDeltaLimit);
|
|
185
227
|
}
|
|
186
228
|
catch (error) {
|
|
187
|
-
ctx
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
return {
|
|
194
|
-
candidates,
|
|
195
|
-
reviewCandidates: candidates,
|
|
196
|
-
...(result.seedUsed !== undefined ? { seedUsed: result.seedUsed } : {}),
|
|
197
|
-
modelParameters: result.modelParameters,
|
|
198
|
-
};
|
|
229
|
+
if (isCancellationError(ctx, error))
|
|
230
|
+
throw new StageCancelledError();
|
|
231
|
+
if (!countedGatewayDispatch && shouldCountRejectedGenerationDispatch(error)) {
|
|
232
|
+
ctx.modelGatewayCallCount += 1;
|
|
233
|
+
}
|
|
234
|
+
return baselineFallbackGenerationOutput(ctx, input, safeReasonSummary(error));
|
|
199
235
|
}
|
|
200
|
-
return modelGenerationOutput(result, ctx, input, maxCandidates);
|
|
201
236
|
}
|
|
202
237
|
function candidateSummaryText(candidate) {
|
|
203
238
|
const parts = [
|
|
204
|
-
`
|
|
205
|
-
`
|
|
206
|
-
`
|
|
207
|
-
`
|
|
239
|
+
`Titel: ${candidate.title}`,
|
|
240
|
+
`Vorbedingungen: ${candidate.preconditions.join("; ")}`,
|
|
241
|
+
`Schritte: ${candidate.steps.join("; ")}`,
|
|
242
|
+
`Erwartetes Ergebnis: ${candidate.expectedResults.join("; ")}`,
|
|
208
243
|
];
|
|
209
244
|
return parts.join("\n");
|
|
210
245
|
}
|
|
@@ -213,10 +248,10 @@ const FINDING_KIND_TRUNCATION_PRIORITY = {
|
|
|
213
248
|
"test-quality": 0,
|
|
214
249
|
};
|
|
215
250
|
const JUDGE_DIMENSION_LABEL = {
|
|
216
|
-
verifiability: "
|
|
217
|
-
atomicity: "
|
|
218
|
-
determinism: "
|
|
219
|
-
"ac-fidelity": "AC
|
|
251
|
+
verifiability: "Prüfbarkeit",
|
|
252
|
+
atomicity: "Atomarität",
|
|
253
|
+
determinism: "Determinismus",
|
|
254
|
+
"ac-fidelity": "AC-Treue",
|
|
220
255
|
};
|
|
221
256
|
function sourceContextForCandidate(candidate, ingestedAtoms) {
|
|
222
257
|
const byAtomId = new Map(ingestedAtoms.map((entry) => [
|
|
@@ -278,8 +313,8 @@ const JUDGE_CONCURRENCY = 4;
|
|
|
278
313
|
function isCancellationError(ctx, error) {
|
|
279
314
|
return error instanceof StageCancelledError || isCancelled(ctx.signal);
|
|
280
315
|
}
|
|
281
|
-
const JUDGE_ERROR_RATIONALE = "Quality
|
|
282
|
-
const JUDGE_BUDGET_RATIONALE = "Quality
|
|
316
|
+
const JUDGE_ERROR_RATIONALE = "Der Quality-Judge konnte diesen Kandidaten nicht bewerten; er wird für das Audit als schwach behandelt.";
|
|
317
|
+
const JUDGE_BUDGET_RATIONALE = "Das Quality-Judge-Budget war vor der Bewertung dieses Kandidaten ausgeschöpft; er wird für das Audit als schwach behandelt.";
|
|
283
318
|
function buildSyntheticWeakJudgeOutcome(ctx, candidate, ordinal, rationale) {
|
|
284
319
|
return {
|
|
285
320
|
strong: false,
|
|
@@ -290,9 +325,10 @@ function buildSyntheticWeakJudgeOutcome(ctx, candidate, ordinal, rationale) {
|
|
|
290
325
|
function cloneDimensions(dimensions) {
|
|
291
326
|
return Object.freeze(dimensions.map((dimension) => Object.freeze({ ...dimension })));
|
|
292
327
|
}
|
|
293
|
-
function qualityVerdictFromJudge(verdict
|
|
328
|
+
function qualityVerdictFromJudge(verdict) {
|
|
329
|
+
const score = scoreFromDimensions(verdict.dimensions);
|
|
294
330
|
return Object.freeze({
|
|
295
|
-
verdict: verdict.
|
|
331
|
+
verdict: verdictFromDimensions(verdict.dimensions),
|
|
296
332
|
score,
|
|
297
333
|
dimensions: cloneDimensions(verdict.dimensions),
|
|
298
334
|
overallRationale: verdict.overallRationale,
|
|
@@ -334,9 +370,10 @@ async function judgeOneCandidate(ctx, candidate, ordinal, ingestedAtoms, judge)
|
|
|
334
370
|
return buildSyntheticWeakJudgeOutcome(ctx, candidate, ordinal, JUDGE_ERROR_RATIONALE);
|
|
335
371
|
}
|
|
336
372
|
const score = scoreFromDimensions(verdict.dimensions);
|
|
337
|
-
const qualityVerdict = qualityVerdictFromJudge(verdict
|
|
338
|
-
if (
|
|
373
|
+
const qualityVerdict = qualityVerdictFromJudge(verdict);
|
|
374
|
+
if (qualityVerdict.verdict === "strong") {
|
|
339
375
|
return { strong: true, finding: null, qualityVerdict };
|
|
376
|
+
}
|
|
340
377
|
return {
|
|
341
378
|
strong: false,
|
|
342
379
|
finding: buildTestQualityFinding(ctx.plan.id, candidate, score, judgeRationaleSummary(verdict), ordinal),
|
|
@@ -476,10 +513,18 @@ export async function runQualityIntelligenceModelRoutedTestDesign(input, deps) {
|
|
|
476
513
|
const generation = await withStage(ctx, "candidates", async () => generateCandidates(ctx, input, deps));
|
|
477
514
|
const candidates = generation.candidates;
|
|
478
515
|
const reviewCandidates = generation.reviewCandidates;
|
|
516
|
+
// A provider/parser failure is caught inside generateCandidates and degrades to the deterministic
|
|
517
|
+
// baseline (skipJudge), keeping the run alive. That degradation MUST stay visible: the redacted
|
|
518
|
+
// reason is threaded into the terminal summary (and surfaced on the wire `done` frame as
|
|
519
|
+
// `degraded` + `reasonSummary`) so the run is never presented as an authoritative model-backed
|
|
520
|
+
// result (regulated-delivery audit, QI-DEG-01).
|
|
521
|
+
const degradedReason = generation.skipJudge === true
|
|
522
|
+
? (generation.fallbackReason ?? "qi-generation-fallback")
|
|
523
|
+
: undefined;
|
|
479
524
|
emitCandidateProposed(ctx, candidates);
|
|
480
525
|
const judge = deps.judge;
|
|
481
526
|
const judgeResult = await withStage(ctx, "judge", async () => {
|
|
482
|
-
if (judge === undefined)
|
|
527
|
+
if (judge === undefined || generation.skipJudge === true)
|
|
483
528
|
return EMPTY_JUDGE_RESULT;
|
|
484
529
|
try {
|
|
485
530
|
return await runJudgeStage(ctx, reviewCandidates, input.ingestedAtoms, judge);
|
|
@@ -493,7 +538,7 @@ export async function runQualityIntelligenceModelRoutedTestDesign(input, deps) {
|
|
|
493
538
|
}
|
|
494
539
|
});
|
|
495
540
|
const atoms = input.ingestedAtoms.map((a) => a.atom);
|
|
496
|
-
const coverageMap = await withStage(ctx, "coverage", async () => Promise.resolve(buildCoverageMap({ runId: input.plan.id, atoms, candidates
|
|
541
|
+
const coverageMap = await withStage(ctx, "coverage", async () => Promise.resolve(buildCoverageMap({ runId: input.plan.id, atoms, candidates })));
|
|
497
542
|
const atomStatuses = buildAtomCoverageStatuses(atoms, coverageMap);
|
|
498
543
|
const excerptByAtomId = excerptsByAtomId(input.ingestedAtoms);
|
|
499
544
|
const coverageMatrix = toCoverageMatrixRows(atomStatuses, excerptByAtomId);
|
|
@@ -504,7 +549,7 @@ export async function runQualityIntelligenceModelRoutedTestDesign(input, deps) {
|
|
|
504
549
|
gapFindings.push(buildCoverageGapFinding(input.plan.id, s, i, excerptByAtomId.get(String(s.atomId))));
|
|
505
550
|
}
|
|
506
551
|
}
|
|
507
|
-
const rawFindings = await withStage(ctx, "validate", async () => Promise.resolve(validateCandidates(input.plan.id,
|
|
552
|
+
const rawFindings = await withStage(ctx, "validate", async () => Promise.resolve(validateCandidates(input.plan.id, candidates)));
|
|
508
553
|
// Order by severity (critical -> low) BEFORE truncation so that, if the run hits the
|
|
509
554
|
// per-run findings cap, the most severe findings — uncovered-requirement gaps included —
|
|
510
555
|
// always survive the cut rather than being dropped by array position. Within a severity tier,
|
|
@@ -560,6 +605,7 @@ export async function runQualityIntelligenceModelRoutedTestDesign(input, deps) {
|
|
|
560
605
|
modelGatewayCallCount: ctx.modelGatewayCallCount,
|
|
561
606
|
evidence,
|
|
562
607
|
qualityScore: judgeResult.qualityScore,
|
|
608
|
+
...(degradedReason !== undefined ? { reasonSummary: degradedReason } : {}),
|
|
563
609
|
});
|
|
564
610
|
}
|
|
565
611
|
catch (caught) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rank.d.ts","sourceRoot":"","sources":["../../src/ranking/rank.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,uBAAuB,EAG7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"rank.d.ts","sourceRoot":"","sources":["../../src/ranking/rank.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,uBAAuB,EAG7B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AA+JD,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAyB/F"}
|
|
@@ -7,6 +7,12 @@ import { DEFAULT_FILTER_OPTIONS, filterCandidates, } from "./filter.js";
|
|
|
7
7
|
import { DEFAULT_SCORING_WEIGHTS, computeScore } from "./scoring.js";
|
|
8
8
|
import { DEFAULT_GENERATED_PATTERNS, extractSignals, } from "./signals.js";
|
|
9
9
|
const AUTO_DUPLICATE_CLUSTER_MIN = 3;
|
|
10
|
+
const AUTO_DUPLICATE_BASENAME_EXEMPTIONS = new Set([
|
|
11
|
+
"agents.md",
|
|
12
|
+
"package.json",
|
|
13
|
+
"readme.md",
|
|
14
|
+
"tsconfig.json",
|
|
15
|
+
]);
|
|
10
16
|
function resolveHints(hints) {
|
|
11
17
|
return {
|
|
12
18
|
generatedPathPatterns: hints?.generatedPathPatterns ?? DEFAULT_GENERATED_PATTERNS,
|
|
@@ -67,6 +73,9 @@ function deriveDuplicateHints(group, explicit) {
|
|
|
67
73
|
continue;
|
|
68
74
|
}
|
|
69
75
|
const key = basename(scopePath).toLowerCase();
|
|
76
|
+
if (AUTO_DUPLICATE_BASENAME_EXEMPTIONS.has(key)) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
70
79
|
const existing = clusters.get(key);
|
|
71
80
|
if (existing === undefined) {
|
|
72
81
|
clusters.set(key, [entry]);
|