@dailephd/my-frontend-observer 0.8.1
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/CHANGELOG.md +397 -0
- package/LICENSE +21 -0
- package/README.md +255 -0
- package/dist/application/browserCaptureService.d.ts +11 -0
- package/dist/application/browserCaptureService.js +12 -0
- package/dist/application/browserCaptureService.js.map +1 -0
- package/dist/application/comparisonService.d.ts +56 -0
- package/dist/application/comparisonService.js +77 -0
- package/dist/application/comparisonService.js.map +1 -0
- package/dist/application/externalReferencePersistenceService.d.ts +75 -0
- package/dist/application/externalReferencePersistenceService.js +182 -0
- package/dist/application/externalReferencePersistenceService.js.map +1 -0
- package/dist/application/frontendContractEvaluationService.d.ts +49 -0
- package/dist/application/frontendContractEvaluationService.js +112 -0
- package/dist/application/frontendContractEvaluationService.js.map +1 -0
- package/dist/application/frontendContractPersistenceService.d.ts +56 -0
- package/dist/application/frontendContractPersistenceService.js +91 -0
- package/dist/application/frontendContractPersistenceService.js.map +1 -0
- package/dist/application/observationPersistence.d.ts +59 -0
- package/dist/application/observationPersistence.js +79 -0
- package/dist/application/observationPersistence.js.map +1 -0
- package/dist/application/projectCheckService.d.ts +3 -0
- package/dist/application/projectCheckService.js +169 -0
- package/dist/application/projectCheckService.js.map +1 -0
- package/dist/application/projectWorkflowService.d.ts +46 -0
- package/dist/application/projectWorkflowService.js +92 -0
- package/dist/application/projectWorkflowService.js.map +1 -0
- package/dist/application/referenceFidelityEvaluationService.d.ts +28 -0
- package/dist/application/referenceFidelityEvaluationService.js +45 -0
- package/dist/application/referenceFidelityEvaluationService.js.map +1 -0
- package/dist/artifacts/artifactReader.d.ts +19 -0
- package/dist/artifacts/artifactReader.js +36 -0
- package/dist/artifacts/artifactReader.js.map +1 -0
- package/dist/artifacts/artifactWriter.d.ts +25 -0
- package/dist/artifacts/artifactWriter.js +68 -0
- package/dist/artifacts/artifactWriter.js.map +1 -0
- package/dist/artifacts/comparisonArtifactReader.d.ts +18 -0
- package/dist/artifacts/comparisonArtifactReader.js +35 -0
- package/dist/artifacts/comparisonArtifactReader.js.map +1 -0
- package/dist/artifacts/comparisonArtifactWriter.d.ts +41 -0
- package/dist/artifacts/comparisonArtifactWriter.js +67 -0
- package/dist/artifacts/comparisonArtifactWriter.js.map +1 -0
- package/dist/artifacts/externalReferenceArtifactReader.d.ts +18 -0
- package/dist/artifacts/externalReferenceArtifactReader.js +35 -0
- package/dist/artifacts/externalReferenceArtifactReader.js.map +1 -0
- package/dist/artifacts/externalReferenceArtifactWriter.d.ts +44 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js +77 -0
- package/dist/artifacts/externalReferenceArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactReader.d.ts +24 -0
- package/dist/artifacts/frontendContractArtifactReader.js +47 -0
- package/dist/artifacts/frontendContractArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractArtifactWriter.d.ts +34 -0
- package/dist/artifacts/frontendContractArtifactWriter.js +70 -0
- package/dist/artifacts/frontendContractArtifactWriter.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.d.ts +17 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js +34 -0
- package/dist/artifacts/frontendContractEvaluationArtifactReader.js.map +1 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.d.ts +32 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js +58 -0
- package/dist/artifacts/frontendContractEvaluationArtifactWriter.js.map +1 -0
- package/dist/artifacts/types.d.ts +17 -0
- package/dist/artifacts/types.js +2 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/browser/chromiumAdapter.d.ts +21 -0
- package/dist/browser/chromiumAdapter.js +204 -0
- package/dist/browser/chromiumAdapter.js.map +1 -0
- package/dist/browser/evidenceCapture.d.ts +62 -0
- package/dist/browser/evidenceCapture.js +500 -0
- package/dist/browser/evidenceCapture.js.map +1 -0
- package/dist/browser/scrollCapture.d.ts +32 -0
- package/dist/browser/scrollCapture.js +163 -0
- package/dist/browser/scrollCapture.js.map +1 -0
- package/dist/browser/types.d.ts +24 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +2411 -0
- package/dist/cli.js.map +1 -0
- package/dist/domain/boundedAgentContext.d.ts +226 -0
- package/dist/domain/boundedAgentContext.js +355 -0
- package/dist/domain/boundedAgentContext.js.map +1 -0
- package/dist/domain/boundedAgentContextCorrelation.d.ts +74 -0
- package/dist/domain/boundedAgentContextCorrelation.js +441 -0
- package/dist/domain/boundedAgentContextCorrelation.js.map +1 -0
- package/dist/domain/boundedAgentContextIdentity.d.ts +26 -0
- package/dist/domain/boundedAgentContextIdentity.js +69 -0
- package/dist/domain/boundedAgentContextIdentity.js.map +1 -0
- package/dist/domain/boundedAgentContextProjection.d.ts +71 -0
- package/dist/domain/boundedAgentContextProjection.js +477 -0
- package/dist/domain/boundedAgentContextProjection.js.map +1 -0
- package/dist/domain/comparison.d.ts +220 -0
- package/dist/domain/comparison.js +350 -0
- package/dist/domain/comparison.js.map +1 -0
- package/dist/domain/comparisonEngine.d.ts +76 -0
- package/dist/domain/comparisonEngine.js +734 -0
- package/dist/domain/comparisonEngine.js.map +1 -0
- package/dist/domain/comparisonIdentity.d.ts +13 -0
- package/dist/domain/comparisonIdentity.js +46 -0
- package/dist/domain/comparisonIdentity.js.map +1 -0
- package/dist/domain/completion.d.ts +30 -0
- package/dist/domain/completion.js +22 -0
- package/dist/domain/completion.js.map +1 -0
- package/dist/domain/diagnostics.d.ts +17 -0
- package/dist/domain/diagnostics.js +77 -0
- package/dist/domain/diagnostics.js.map +1 -0
- package/dist/domain/evidence.d.ts +29 -0
- package/dist/domain/evidence.js +59 -0
- package/dist/domain/evidence.js.map +1 -0
- package/dist/domain/explicitState.d.ts +40 -0
- package/dist/domain/explicitState.js +54 -0
- package/dist/domain/explicitState.js.map +1 -0
- package/dist/domain/externalReference.d.ts +158 -0
- package/dist/domain/externalReference.js +167 -0
- package/dist/domain/externalReference.js.map +1 -0
- package/dist/domain/externalReferenceApplicability.d.ts +43 -0
- package/dist/domain/externalReferenceApplicability.js +52 -0
- package/dist/domain/externalReferenceApplicability.js.map +1 -0
- package/dist/domain/externalReferenceCompatibility.d.ts +40 -0
- package/dist/domain/externalReferenceCompatibility.js +48 -0
- package/dist/domain/externalReferenceCompatibility.js.map +1 -0
- package/dist/domain/externalReferenceFidelity.d.ts +171 -0
- package/dist/domain/externalReferenceFidelity.js +419 -0
- package/dist/domain/externalReferenceFidelity.js.map +1 -0
- package/dist/domain/externalReferenceIdentity.d.ts +38 -0
- package/dist/domain/externalReferenceIdentity.js +70 -0
- package/dist/domain/externalReferenceIdentity.js.map +1 -0
- package/dist/domain/externalReferenceImage.d.ts +35 -0
- package/dist/domain/externalReferenceImage.js +160 -0
- package/dist/domain/externalReferenceImage.js.map +1 -0
- package/dist/domain/externalReferenceRegionRelationships.d.ts +63 -0
- package/dist/domain/externalReferenceRegionRelationships.js +98 -0
- package/dist/domain/externalReferenceRegionRelationships.js.map +1 -0
- package/dist/domain/externalReferenceRegions.d.ts +65 -0
- package/dist/domain/externalReferenceRegions.js +105 -0
- package/dist/domain/externalReferenceRegions.js.map +1 -0
- package/dist/domain/externalReferenceRequirementIdentity.d.ts +12 -0
- package/dist/domain/externalReferenceRequirementIdentity.js +35 -0
- package/dist/domain/externalReferenceRequirementIdentity.js.map +1 -0
- package/dist/domain/externalReferenceRequirements.d.ts +215 -0
- package/dist/domain/externalReferenceRequirements.js +401 -0
- package/dist/domain/externalReferenceRequirements.js.map +1 -0
- package/dist/domain/externalReferenceRuntimeBinding.d.ts +146 -0
- package/dist/domain/externalReferenceRuntimeBinding.js +183 -0
- package/dist/domain/externalReferenceRuntimeBinding.js.map +1 -0
- package/dist/domain/frontendContractEvaluation.d.ts +57 -0
- package/dist/domain/frontendContractEvaluation.js +454 -0
- package/dist/domain/frontendContractEvaluation.js.map +1 -0
- package/dist/domain/frontendContractEvaluationArtifact.d.ts +65 -0
- package/dist/domain/frontendContractEvaluationArtifact.js +108 -0
- package/dist/domain/frontendContractEvaluationArtifact.js.map +1 -0
- package/dist/domain/frontendContractIdentity.d.ts +39 -0
- package/dist/domain/frontendContractIdentity.js +70 -0
- package/dist/domain/frontendContractIdentity.js.map +1 -0
- package/dist/domain/frontendContracts.d.ts +188 -0
- package/dist/domain/frontendContracts.js +260 -0
- package/dist/domain/frontendContracts.js.map +1 -0
- package/dist/domain/identity.d.ts +21 -0
- package/dist/domain/identity.js +47 -0
- package/dist/domain/identity.js.map +1 -0
- package/dist/domain/referenceCorrectionIdentity.d.ts +40 -0
- package/dist/domain/referenceCorrectionIdentity.js +77 -0
- package/dist/domain/referenceCorrectionIdentity.js.map +1 -0
- package/dist/domain/referenceCorrectionWorkflow.d.ts +160 -0
- package/dist/domain/referenceCorrectionWorkflow.js +165 -0
- package/dist/domain/referenceCorrectionWorkflow.js.map +1 -0
- package/dist/domain/referenceFidelityProjection.d.ts +65 -0
- package/dist/domain/referenceFidelityProjection.js +135 -0
- package/dist/domain/referenceFidelityProjection.js.map +1 -0
- package/dist/domain/relationships.d.ts +210 -0
- package/dist/domain/relationships.js +352 -0
- package/dist/domain/relationships.js.map +1 -0
- package/dist/domain/schema.d.ts +269 -0
- package/dist/domain/schema.js +442 -0
- package/dist/domain/schema.js.map +1 -0
- package/dist/domain/scrollEvidence.d.ts +51 -0
- package/dist/domain/scrollEvidence.js +134 -0
- package/dist/domain/scrollEvidence.js.map +1 -0
- package/dist/index.d.ts +114 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/projectWorkflow/aliasCatalog.d.ts +21 -0
- package/dist/projectWorkflow/aliasCatalog.js +67 -0
- package/dist/projectWorkflow/aliasCatalog.js.map +1 -0
- package/dist/projectWorkflow/checkAcceptance.d.ts +25 -0
- package/dist/projectWorkflow/checkAcceptance.js +55 -0
- package/dist/projectWorkflow/checkAcceptance.js.map +1 -0
- package/dist/projectWorkflow/checkResult.d.ts +85 -0
- package/dist/projectWorkflow/checkResult.js +101 -0
- package/dist/projectWorkflow/checkResult.js.map +1 -0
- package/dist/projectWorkflow/projectConfig.d.ts +43 -0
- package/dist/projectWorkflow/projectConfig.js +84 -0
- package/dist/projectWorkflow/projectConfig.js.map +1 -0
- package/dist/projectWorkflow/projectDiscovery.d.ts +9 -0
- package/dist/projectWorkflow/projectDiscovery.js +20 -0
- package/dist/projectWorkflow/projectDiscovery.js.map +1 -0
- package/dist/projectWorkflow/projectPaths.d.ts +8 -0
- package/dist/projectWorkflow/projectPaths.js +23 -0
- package/dist/projectWorkflow/projectPaths.js.map +1 -0
- package/dist/request/paths.d.ts +14 -0
- package/dist/request/paths.js +33 -0
- package/dist/request/paths.js.map +1 -0
- package/dist/request/request.d.ts +111 -0
- package/dist/request/request.js +464 -0
- package/dist/request/request.js.map +1 -0
- package/dist/safety/policy.d.ts +14 -0
- package/dist/safety/policy.js +81 -0
- package/dist/safety/policy.js.map +1 -0
- package/dist/viewer/assets/index-CN_yb9Uf.css +1 -0
- package/dist/viewer/assets/index-D98S1_2d.js +9 -0
- package/dist/viewer/icons/icon-192.png +0 -0
- package/dist/viewer/icons/icon-512.png +0 -0
- package/dist/viewer/index.html +15 -0
- package/dist/viewer/manifest.webmanifest +1 -0
- package/dist/viewer/registerSW.js +1 -0
- package/dist/viewer/sw.js +1 -0
- package/dist/viewer/workbox-9c191d2f.js +1 -0
- package/dist/viewerServer/context.d.ts +48 -0
- package/dist/viewerServer/context.js +60 -0
- package/dist/viewerServer/context.js.map +1 -0
- package/dist/viewerServer/evidence/classify.d.ts +59 -0
- package/dist/viewerServer/evidence/classify.js +124 -0
- package/dist/viewerServer/evidence/classify.js.map +1 -0
- package/dist/viewerServer/evidence/comparisonView.d.ts +28 -0
- package/dist/viewerServer/evidence/comparisonView.js +43 -0
- package/dist/viewerServer/evidence/comparisonView.js.map +1 -0
- package/dist/viewerServer/evidence/contextSourceView.d.ts +25 -0
- package/dist/viewerServer/evidence/contextSourceView.js +20 -0
- package/dist/viewerServer/evidence/contextSourceView.js.map +1 -0
- package/dist/viewerServer/evidence/discovery.d.ts +31 -0
- package/dist/viewerServer/evidence/discovery.js +78 -0
- package/dist/viewerServer/evidence/discovery.js.map +1 -0
- package/dist/viewerServer/evidence/evaluationView.d.ts +32 -0
- package/dist/viewerServer/evidence/evaluationView.js +50 -0
- package/dist/viewerServer/evidence/evaluationView.js.map +1 -0
- package/dist/viewerServer/evidence/handles.d.ts +21 -0
- package/dist/viewerServer/evidence/handles.js +43 -0
- package/dist/viewerServer/evidence/handles.js.map +1 -0
- package/dist/viewerServer/evidence/index.d.ts +41 -0
- package/dist/viewerServer/evidence/index.js +82 -0
- package/dist/viewerServer/evidence/index.js.map +1 -0
- package/dist/viewerServer/evidence/limits.d.ts +27 -0
- package/dist/viewerServer/evidence/limits.js +28 -0
- package/dist/viewerServer/evidence/limits.js.map +1 -0
- package/dist/viewerServer/evidence/linkedEvidence.d.ts +43 -0
- package/dist/viewerServer/evidence/linkedEvidence.js +151 -0
- package/dist/viewerServer/evidence/linkedEvidence.js.map +1 -0
- package/dist/viewerServer/evidence/mediaResolver.d.ts +16 -0
- package/dist/viewerServer/evidence/mediaResolver.js +85 -0
- package/dist/viewerServer/evidence/mediaResolver.js.map +1 -0
- package/dist/viewerServer/evidence/observationView.d.ts +29 -0
- package/dist/viewerServer/evidence/observationView.js +46 -0
- package/dist/viewerServer/evidence/observationView.js.map +1 -0
- package/dist/viewerServer/evidence/pathSafety.d.ts +11 -0
- package/dist/viewerServer/evidence/pathSafety.js +31 -0
- package/dist/viewerServer/evidence/pathSafety.js.map +1 -0
- package/dist/viewerServer/evidence/projection.d.ts +55 -0
- package/dist/viewerServer/evidence/projection.js +152 -0
- package/dist/viewerServer/evidence/projection.js.map +1 -0
- package/dist/viewerServer/evidence/referenceView.d.ts +133 -0
- package/dist/viewerServer/evidence/referenceView.js +169 -0
- package/dist/viewerServer/evidence/referenceView.js.map +1 -0
- package/dist/viewerServer/httpServer.d.ts +27 -0
- package/dist/viewerServer/httpServer.js +381 -0
- package/dist/viewerServer/httpServer.js.map +1 -0
- package/dist/viewerServer/openBrowser.d.ts +7 -0
- package/dist/viewerServer/openBrowser.js +32 -0
- package/dist/viewerServer/openBrowser.js.map +1 -0
- package/dist/viewerServer/port.d.ts +16 -0
- package/dist/viewerServer/port.js +19 -0
- package/dist/viewerServer/port.js.map +1 -0
- package/dist/viewerServer/viewerService.d.ts +62 -0
- package/dist/viewerServer/viewerService.js +88 -0
- package/dist/viewerServer/viewerService.js.map +1 -0
- package/docs/ARCHITECTURE.md +1286 -0
- package/docs/CI_CD.md +250 -0
- package/docs/COMMANDS.md +972 -0
- package/docs/CONTRACTS.md +1856 -0
- package/docs/CURRENT_STATE.md +1049 -0
- package/docs/DEVELOPMENT.md +202 -0
- package/docs/DOCUMENTATION_PRESERVATION_POLICY.md +50 -0
- package/docs/PROJECT_DESCRIPTION.md +2221 -0
- package/docs/PROJECT_MILESTONES.md +2526 -0
- package/docs/PROJECT_OVERVIEW.md +150 -0
- package/docs/QUICKSTART.md +83 -0
- package/docs/RELEASE.md +27 -0
- package/docs/ROADMAP.md +641 -0
- package/docs/SECURITY.md +218 -0
- package/docs/WORKFLOWS.md +642 -0
- package/docs/plans/v0.8-implementation-plan.md +655 -0
- package/docs/plans/v0.8.1-cli-usability-patch-plan.md +505 -0
- package/docs/reports/v0.7-bounded-fidelity-context-prompt7.md +243 -0
- package/docs/reports/v0.7-implementation-completeness-documentation-reconciliation.md +497 -0
- package/docs/reports/v0.7-pre-release-readiness.md +337 -0
- package/docs/reports/v0.7-reference-binding-prompt5.md +223 -0
- package/docs/reports/v0.7-reference-compatibility-prompt4.md +234 -0
- package/docs/reports/v0.7-reference-correction-workflow-prompt8.md +222 -0
- package/docs/reports/v0.7-reference-fidelity-prompt6.md +216 -0
- package/docs/reports/v0.7-reference-foundation-prompt1.md +151 -0
- package/docs/reports/v0.7-reference-regions-prompt2.md +195 -0
- package/docs/reports/v0.7-reference-requirements-prompt3.md +217 -0
- package/docs/reports/v0.7-release-prep.md +423 -0
- package/docs/reports/v0.8-binding-fidelity-interaction-batch6.md +279 -0
- package/docs/reports/v0.8-bounded-context-correlation-batch7.md +233 -0
- package/docs/reports/v0.8-comparison-contract-inspection-batch4.md +279 -0
- package/docs/reports/v0.8-evidence-index-readers-batch2.md +247 -0
- package/docs/reports/v0.8-implementation-completeness-documentation-reconciliation.md +741 -0
- package/docs/reports/v0.8-integrated-viewer-acceptance-batch8.md +128 -0
- package/docs/reports/v0.8-observation-svg-inspection-batch3.md +223 -0
- package/docs/reports/v0.8-prerelease-readiness-cross-platform-security-code-rot.md +687 -0
- package/docs/reports/v0.8-reference-candidate-inspection-batch5.md +232 -0
- package/docs/reports/v0.8-viewer-runtime-pwa-batch1.md +278 -0
- package/docs/reports/v0.8.1-check-orchestration-prompt2.md +69 -0
- package/docs/reports/v0.8.1-implementation-completeness-documentation-reconciliation.md +114 -0
- package/docs/reports/v0.8.1-prerelease-readiness-cross-platform-security-code-rot.md +170 -0
- package/docs/reports/v0.8.1-project-workflow-foundation-prompt1.md +66 -0
- package/package.json +58 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# v0.7 Prompt 7 — Bounded Reference-Fidelity Projection and v0.6 Bounded-Agent-Context Integration
|
|
2
|
+
|
|
3
|
+
**VERDICT: PASS_V0_7_BOUNDED_FIDELITY_CONTEXT_PROMPT7**
|
|
4
|
+
|
|
5
|
+
## Repository / branch / heads
|
|
6
|
+
|
|
7
|
+
- Repository: `my-frontend-observer` (path: `Z:\Users\newuser\Projects\my-frontend-observer`)
|
|
8
|
+
- Branch: `implementation/v0.7-reference-bounded-context`, branched from the exact completed Prompt 6 HEAD
|
|
9
|
+
- Starting HEAD (branch point, Prompt 6 report commit): `bc414f08156ce04f8c89244496de1699b14e302c`
|
|
10
|
+
- Prompt 6 base HEAD confirmed to contain both required commits: `91f5e73` (implementation) and `bc414f0` (report), and the full completed Prompt 1–5 lineage — verified via `git log --oneline` before branching.
|
|
11
|
+
- Implementation commit (this prompt): `013bc6c22b0f5df107d9f3896ba069c7f63783f2` — "Add v0.7 Prompt 7 bounded reference-fidelity projection and v0.6 bounded-agent-context integration"
|
|
12
|
+
- Ending HEAD: the report commit that follows this file's commit.
|
|
13
|
+
|
|
14
|
+
## Git status
|
|
15
|
+
|
|
16
|
+
Preflight (`git status --short`) showed a clean working tree at the exact Prompt 6 report HEAD; `git stash list` showed exactly the one preserved Prompt 1 stray-fork-writes entry. The branch was created with `git checkout -b implementation/v0.7-reference-bounded-context` and ancestry verified with `git merge-base --is-ancestor bc414f0 HEAD`. No reset/clean/discard operation was used; the Prompt 1 stash was neither applied nor dropped. Post-implementation `git status --short` is clean except for this report file (staged and committed separately, per convention).
|
|
17
|
+
|
|
18
|
+
## Tooling
|
|
19
|
+
|
|
20
|
+
- Resolved latest published `@dailephd/my-dev-kit`: `1.12.3`, pinned exactly via `npx -y @dailephd/my-dev-kit@1.12.3`.
|
|
21
|
+
- Fresh Prompt 7 repository index built under a repository-local, gitignored root: `.my-dev-kit-context/index-prompt7/` (59 files, 908 symbols indexed) — not reused from Prompt 1–6's indexes.
|
|
22
|
+
|
|
23
|
+
## Prompt 1–6 contracts verified
|
|
24
|
+
|
|
25
|
+
Read directly (source, not memory) before writing any code:
|
|
26
|
+
|
|
27
|
+
- `src/domain/boundedAgentContext.ts` (v0.6 Batch 1/3) — the full frozen contract: `Adequacy`, `OmissionRecord`/`TruncationRecord`, `BoundedRuntimeTargetProjection`, `RuntimeStaticCorrelationRecord`, `CorrelationStatus`, all numeric bounds, and every already-exported structural validator.
|
|
28
|
+
- `src/domain/boundedAgentContextProjection.ts` (v0.6 Batch 2 rescue) — the full `projectBoundedAgentContext` implementation: `clauseTier`/`isRequiredMembershipClause`/`evidenceTierForClauseResult` (the exact required/permitted/context tiering rule reused for fidelity), the required-first bounded target allocation, `boundedEvidenceForTarget`'s dedup/cap convention, `capOmissions`/`capTruncations`, and the adequacy-derivation rule (`anyRequiredLoss`/`anyOptionalLoss`, the `orderedRequired.length > 0 && ... >= orderedRequired.length` inadequate-threshold).
|
|
29
|
+
- `src/domain/boundedAgentContextIdentity.ts` (v0.6 Batch 2) — `buildBoundedAgentContextRequestIdentity`'s exact pure-function-of-{sources, targetIds, projectionProfile} semantic view and canonicalize convention.
|
|
30
|
+
- `src/domain/boundedAgentContextCorrelation.ts` (v0.6 Batch 3) — `deriveRuntimeStaticCorrelations`/`attachRuntimeStaticCorrelations`, confirmed untouched and reused exactly as-is (no correlation code was written or modified this prompt).
|
|
31
|
+
- `src/domain/externalReferenceFidelity.ts` (Prompt 6) — `evaluateReferenceCandidateFidelity`'s exact result shapes (`ReferenceRequirementFidelityResult`, `ReferenceCandidateFidelityEvaluation`, `ReferenceFidelityState`, `ReferenceFidelityBlockReason`) and provenance fields.
|
|
32
|
+
- `src/domain/externalReferenceRuntimeBinding.ts` (Prompt 5) — confirmed `boundRuntimeTargets`/binding identity is the exact stable v0.2 target name, sufficient as the runtime side of static correlation with no shortcut needed.
|
|
33
|
+
- `src/domain/externalReferenceRequirements.ts` (Prompt 3) — `ReferenceRequirementAdequacy`, `AuthoredChangeScopeCategory`/`ExpectedDependentMode` (the v0.5 category vocabulary Prompt 3 reuses directly).
|
|
34
|
+
- `src/domain/comparison.ts` — `isValidComparabilityResult`'s exact `incomparable ⇒ requires a blocking reason` invariant (relevant to constructing valid `compatibility` fixtures).
|
|
35
|
+
|
|
36
|
+
No architecture blocker was hit; no `BLOCKED_ESCALATE_TO_FULL_STAGE_CONTEXT` condition applied at any point.
|
|
37
|
+
|
|
38
|
+
## v0.6 bounded-context precedent
|
|
39
|
+
|
|
40
|
+
`projectBoundedAgentContext` already tiers v0.5 contract-clause targets into required/permitted/context sets, allocates them into `MAX_RUNTIME_TARGETS` capacity with required-first priority, derives `omissions`/`truncations` from what got dropped, and computes `adequacy` purely from those two collections' `required` flags — this exact machinery, not a redesign, is what Prompt 7's fidelity input feeds into.
|
|
41
|
+
|
|
42
|
+
## Chosen integration owner
|
|
43
|
+
|
|
44
|
+
`projectBoundedAgentContext` itself, extended with one new optional input (`fidelity?: ReferenceCandidateFidelityEvaluation`, `fidelityRequired?: boolean`) — not a separate `VisualAgentContext`/`VisualPromptPacket`/`ReferencePromptBuilder`, and not a pure post-hoc "attach" step in the shape `attachRuntimeStaticCorrelations` uses. The attach-step shape was considered and rejected: fidelity-relevant runtime targets must compete fairly for `MAX_RUNTIME_TARGETS` capacity and receive full `BoundedRuntimeTargetProjection` treatment (geometry/visibility/overflow/scrollOwner/screenshotRef) through the exact existing per-target assembly code, which an attach-only step run after target allocation has already finished could never produce. A new pure sibling module, `domain/referenceFidelityProjection.ts` (`projectReferenceFidelity`), derives the bounded/prioritized fidelity content plus the target-id/omission/truncation contributions that `projectBoundedAgentContext` folds into its own existing pipeline before allocation, capping, and adequacy computation run.
|
|
45
|
+
|
|
46
|
+
## Fidelity projection model
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
// domain/referenceFidelityProjection.ts
|
|
50
|
+
function projectReferenceFidelity(
|
|
51
|
+
fidelity: ReferenceCandidateFidelityEvaluation,
|
|
52
|
+
options?: { required?: boolean }, // defaults to true
|
|
53
|
+
): {
|
|
54
|
+
projection: BoundedReferenceFidelityProjection;
|
|
55
|
+
requiredTargetIds: string[];
|
|
56
|
+
permittedTargetIds: string[];
|
|
57
|
+
omissions: OmissionRecord[];
|
|
58
|
+
truncations: TruncationRecord[];
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// domain/boundedAgentContext.ts - additive
|
|
62
|
+
interface BoundedReferenceFidelityProjection {
|
|
63
|
+
referenceId: string; referenceRequestId: string;
|
|
64
|
+
candidateObservationId: string; candidateRequestId: string;
|
|
65
|
+
adequacy: ReferenceRequirementAdequacy; // reused verbatim from Prompt 3
|
|
66
|
+
compatibility?: ComparabilityResult; // reused verbatim from Prompt 4
|
|
67
|
+
state: ReferenceFidelityState; // reused verbatim from Prompt 6
|
|
68
|
+
blockedBy?: ReferenceFidelityBlockReason; // reused verbatim from Prompt 6
|
|
69
|
+
mismatches: ReferenceRequirementFidelityResult[]; // bounded, prioritized non-pass
|
|
70
|
+
protectedContext: ReferenceRequirementFidelityResult[]; // bounded passing protected/preserved
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`ReferenceRequirementFidelityResult` (Prompt 6's own type) is reused as the array element type verbatim — no duplicated or re-flattened field set.
|
|
75
|
+
|
|
76
|
+
## Selection policy
|
|
77
|
+
|
|
78
|
+
Only non-`pass` Prompt 6 requirement results are ever candidates for `mismatches` — passing requirements are never dumped by default (behavior D). Each candidate is classified into a tier by category/mode, reusing `boundedAgentContextProjection.ts#clauseTier`'s exact rule (duplicated as `fidelityRequirementTier`, not imported, per the established per-module small-helper convention): `protected`/`preserved` → `required`; `expected-dependent`/`'required'` → `required`; `expected-dependent`/`'permitted'` and `requested` → `optional`. Passing `protected`/`preserved` results are surfaced separately as `protectedContext` (disjoint from `mismatches` — a *failing* protected/preserved requirement already appears in `mismatches` at the highest priority, never duplicated).
|
|
79
|
+
|
|
80
|
+
## Priority policy
|
|
81
|
+
|
|
82
|
+
1. `fail` + `required` tier
|
|
83
|
+
2. `unavailable` + `required` tier
|
|
84
|
+
3. any other non-`pass` (`optional`-tier) result
|
|
85
|
+
|
|
86
|
+
Within one priority class, Prompt 6's own authored requirement order is preserved (a stable sort by rank only). The reported `mismatches` array is in priority order (highest first) — verified this is genuinely priority-first, not restored to authored order, by a dedicated test that caught and fixed an initial implementation bug (see Tooling incidents).
|
|
87
|
+
|
|
88
|
+
## Cap values
|
|
89
|
+
|
|
90
|
+
`MAX_FIDELITY_MISMATCHES = 15` and `MAX_FIDELITY_PROTECTED_CONTEXT = 10` (reusing `MAX_RELATIONSHIP_EVIDENCE_PER_TARGET`'s value) — both judgment-call bounds in the same spirit as v0.6 Batch 1's own frozen caps (no measured fixture corpus exists yet for either concept, matching that section's own documented rationale).
|
|
91
|
+
|
|
92
|
+
## Omission/truncation behavior
|
|
93
|
+
|
|
94
|
+
Reuses `OmissionRecord`/`TruncationRecord` wholesale — no second reporting model. Exceeding `MAX_FIDELITY_MISMATCHES` records `{subject: 'fidelity-mismatches', limit, actualCount, required}` plus one `{subject: 'fidelity-mismatch:<requirementId>', reason: 'required-evidence-lost-by-bound', required: true}` omission per dropped required-tier mismatch. Exceeding `MAX_FIDELITY_PROTECTED_CONTEXT` records a truncation with `required: false` always (confirmatory/passing context is never "required loss"). These records are prepended into `projectBoundedAgentContext`'s own `omissions`/`truncations` arrays before its existing `capOmissions`/`capTruncations` aggregate-cap calls and its existing adequacy computation run — fidelity loss participates in the exact same `anyRequiredLoss`/`anyOptionalLoss` rule every other evidence source already uses, never a separate adequacy code path.
|
|
95
|
+
|
|
96
|
+
## Adequacy behavior
|
|
97
|
+
|
|
98
|
+
A `not-evaluated` fidelity always records an explicit omission (`{subject: 'fidelity', reason: 'unsupported-or-unavailable', required, detail}`), where `required` defaults to `true` — supplying a fidelity evaluation to be projected at all is itself the signal that the task depends on it, mirroring `CorrelationTargetInput.required`'s existing v0.6 convention. A `required: true` fidelity omission prevents `adequacy.state` from remaining `'adequate'` (verified: it becomes `'partial'` in the tested scenario, since v0.6's own inadequate-threshold is scoped to runtime-target unavailability specifically — an honest, non-`'adequate'` state either way, never falsely `'adequate'`). A `required: false` omission (`fidelityRequired: false`) never degrades adequacy past `'partial'`, matching v0.6's own pre-existing "optional-only loss never means inadequate" rule exactly — unchanged, not redefined. A `pass` fidelity result contributes no omissions/truncations and never degrades adequacy (verified by a dedicated test).
|
|
99
|
+
|
|
100
|
+
## Not-evaluated fidelity behavior
|
|
101
|
+
|
|
102
|
+
Preserved exactly as Prompt 6 reported it — `artifact.fidelity.state`/`.blockedBy` are a direct pass-through of Prompt 6's own values, with `mismatches`/`protectedContext` both empty (nothing to select from an empty `requirementResults`). Verified this is never silently converted into "no fidelity problems": a dedicated test confirms `adequacy.state !== 'adequate'` whenever a `not-evaluated`/`required` fidelity is supplied.
|
|
103
|
+
|
|
104
|
+
## Per-target organization
|
|
105
|
+
|
|
106
|
+
Every fidelity mismatch's `boundRuntimeTargets` (Prompt 5/6's own field, never truncated) is added to `projectBoundedAgentContext`'s existing `requiredTargetIds`/`permittedTargetIds` sets before its existing bounded allocation runs, so those runtime targets receive full `BoundedRuntimeTargetProjection` treatment through the unmodified existing per-target assembly code (verified: a target named only by a fidelity mismatch appears in `artifact.targets` with its own `geometry`). Reference regions are never used as a target-selection or correlation key — only the already-bound stable v0.2 runtime target id is.
|
|
107
|
+
|
|
108
|
+
## Multi-target relationship representation
|
|
109
|
+
|
|
110
|
+
A `region-relationship` mismatch's `boundRuntimeTargets` array (already carrying both bound targets from Prompt 6) is used as-is — both targets are added to the required/permitted set, so both appear in `artifact.targets`. Verified by a dedicated test with a two-target relationship failure, confirming both target ids are present.
|
|
111
|
+
|
|
112
|
+
## Static-correlation reuse
|
|
113
|
+
|
|
114
|
+
Entirely unchanged — `deriveRuntimeStaticCorrelations`/`attachRuntimeStaticCorrelations` were not modified and are not called from any new code this prompt introduces. `BoundedRuntimeTargetProjection.targetId` and `RuntimeStaticCorrelationRecord.runtimeTargetId` already share the same stable v0.2 identity a fidelity mismatch's `boundRuntimeTargets` also uses, so a caller (Prompt 8) joins fidelity, target, and correlation evidence by that one shared id without this module ever reading source, running my-dev-kit, or choosing among ambiguous candidates itself.
|
|
115
|
+
|
|
116
|
+
## Ambiguous/unavailable correlation behavior
|
|
117
|
+
|
|
118
|
+
Unaffected — `RuntimeStaticCorrelationRecord`'s frozen `status: 'ambiguous' ⇒ candidates.length >= 2` invariant is untouched (no correlation code was written), and `status: 'unavailable'` for a runtime target never causes a fidelity mismatch naming that same target to be dropped: the two evidence kinds are attached independently (fidelity via `artifact.fidelity`, correlation via the separate, caller-driven `attachRuntimeStaticCorrelations` step) and neither erases the other.
|
|
119
|
+
|
|
120
|
+
## Provenance
|
|
121
|
+
|
|
122
|
+
Every included mismatch remains traceable to the reference (`sources.referenceId`/`referenceRequestId`, new), the requirement (`requirementId`, `category`, `subject` — naming its reference region(s)), the Prompt 5 binding (`boundRuntimeTargets`), the candidate (`sources.observationIds`), and the full Prompt 6 evidence (`referenceValue`/`candidateRawValue`/`candidateValue`/`delta`/`tolerance` or `expectedRelationship`/`actualRelationship`). No raw image bytes are ever embedded (fidelity carries only identifiers and numeric/categorical evidence, never pixels — verified by inspecting the type shape, which has no byte-array field anywhere). No source-ownership field (`sourceOwner`/`sourceFile`/`component`/`symbol`/`causedBy`) is ever produced.
|
|
123
|
+
|
|
124
|
+
## Identity impact
|
|
125
|
+
|
|
126
|
+
`buildBoundedAgentContextRequestIdentity` gained a final optional `fidelity?: unknown` parameter — omitted (never `null`) from the hashed semantic view when absent, verified by a dedicated test asserting `buildBoundedAgentContextRequestIdentity(sources, ids, profile)` and the same call with an explicit trailing `undefined` produce byte-identical hashes. When present, the caller's already-derived, bounded `BoundedReferenceFidelityProjection` (not the raw Prompt 6 evaluation) is hashed, so identity changes exactly when the content a caller would actually receive changes — verified by a test confirming identical fidelity content produces the identical `contextRequestId` and changed fidelity content changes it. `sources.referenceId`/`referenceRequestId` follow the identical omit-when-absent convention (also tested). **An initial implementation mistake was caught and fixed before committing**: the first draft defaulted these two new `sources` fields to `?? null` (the pattern used for pre-existing fields like `comparisonId`), which would have broken every historical hash by adding two new `null`-valued keys to the semantic view unconditionally. This was caught immediately (before any test ran) by re-reading the identity module's own doc comment about the omit-vs-null distinction, and fixed to the correct omit-when-`undefined` pattern; the full 927-test pre-existing suite (including this exact area) was then run and passed unchanged, confirming no historical hash regression reached a commit.
|
|
127
|
+
|
|
128
|
+
## Schema-version decision
|
|
129
|
+
|
|
130
|
+
No bump — `BOUNDED_AGENT_CONTEXT_SCHEMA_VERSION` stays `1.0.0`. Every new field (`BoundedAgentContextSourceReferences.referenceId`/`referenceRequestId`, `BoundedAgentContextArtifact.fidelity`) is additive and optional; a pre-Prompt-7 artifact/consumer remains fully valid and behaviorally unchanged with all of them absent, matching the exact precedent `correlations?` already established without a version bump in v0.6 Batch 3.
|
|
131
|
+
|
|
132
|
+
## Persistence decision
|
|
133
|
+
|
|
134
|
+
**None.** `projectBoundedAgentContext` and `projectReferenceFidelity` both remain pure, programmatic, in-memory functions — no new writer/reader, no new artifact family. This mirrors Prompt 6's own "no persisted fidelity artifact" decision and v0.6's existing "bounded agent context is library-only" architecture. No `BLOCKED_ESCALATE_TO_FULL_STAGE_CONTEXT` condition was triggered, since nothing about this integration required persistence to be meaningful.
|
|
135
|
+
|
|
136
|
+
## Public API changes
|
|
137
|
+
|
|
138
|
+
Additive exports from `src/index.ts`:
|
|
139
|
+
- `domain/referenceFidelityProjection.js`: `projectReferenceFidelity`, `ProjectReferenceFidelityOptions`, `ProjectReferenceFidelityOutput`.
|
|
140
|
+
- `domain/boundedAgentContext.js`: `BoundedReferenceFidelityProjection` (type), `isValidBoundedReferenceFidelityProjection`, `MAX_FIDELITY_MISMATCHES`, `MAX_FIDELITY_PROTECTED_CONTEXT`.
|
|
141
|
+
- `domain/boundedAgentContextProjection.js`: `ProjectBoundedAgentContextInput` gained `fidelity?`/`fidelityRequired?` (type-level, no new export name).
|
|
142
|
+
- `domain/externalReferenceRequirements.js`: `isValidReferenceRequirementAdequacy` (new defense-in-depth validator for the already-frozen Prompt 3 `ReferenceRequirementAdequacy` shape, needed by `boundedAgentContext.ts`'s own new validator).
|
|
143
|
+
- `domain/externalReferenceFidelity.js`: `isValidReferenceRequirementFidelityResult` (new defense-in-depth validator for the already-frozen Prompt 6 `ReferenceRequirementFidelityResult` shape, for the same reason).
|
|
144
|
+
|
|
145
|
+
## CLI decision
|
|
146
|
+
|
|
147
|
+
None added. v0.6 bounded agent context has never had a CLI surface, and this prompt does not introduce one — the bounded-context/fidelity integration remains library-only, exactly as instructed. Prompt 8 is expected to become the first concrete consumer of `projectBoundedAgentContext`'s (now fidelity-aware) programmatic output. `docs/COMMANDS.md` was not touched.
|
|
148
|
+
|
|
149
|
+
## Files changed
|
|
150
|
+
|
|
151
|
+
New:
|
|
152
|
+
- `src/domain/referenceFidelityProjection.ts`
|
|
153
|
+
- `tests/unit/referenceFidelityProjection.test.ts`
|
|
154
|
+
|
|
155
|
+
Modified:
|
|
156
|
+
- `src/domain/boundedAgentContext.ts` (new constants/types/validator/field, additive)
|
|
157
|
+
- `src/domain/boundedAgentContextIdentity.ts` (new optional trailing `fidelity` parameter, `sources.referenceId`/`referenceRequestId` inclusion)
|
|
158
|
+
- `src/domain/boundedAgentContextProjection.ts` (new optional `fidelity`/`fidelityRequired` input, wiring into target allocation/omissions/truncations/adequacy/identity/output)
|
|
159
|
+
- `src/domain/externalReferenceFidelity.ts` (additive `isValidReferenceRequirementFidelityResult` validator)
|
|
160
|
+
- `src/domain/externalReferenceRequirements.ts` (additive `isValidReferenceRequirementAdequacy` validator)
|
|
161
|
+
- `src/index.ts` (public export surface for the above)
|
|
162
|
+
- `docs/ARCHITECTURE.md`, `docs/CONTRACTS.md`, `docs/WORKFLOWS.md`
|
|
163
|
+
- 5 existing test files extended with Prompt 7 coverage (see Tests below)
|
|
164
|
+
|
|
165
|
+
## Tests
|
|
166
|
+
|
|
167
|
+
981 unit tests total (927 pre-existing + 54 new), all pure domain-level tests — zero Chromium launches for this prompt's own logic.
|
|
168
|
+
|
|
169
|
+
- `tests/unit/referenceFidelityProjection.test.ts` (16 tests): one/several/over-cap failures with deterministic truncation and per-mismatch required omissions, failed-before-unavailable-before-optional priority, passing requirements omitted by default, fidelity-pass compact output, not-evaluated blocker preservation (both `required: true` and `required: false`), bound runtime target identity preservation (single- and two-target), protected/preserved context surfacing and its own bound/truncation, expected-dependent required/permitted tiering, determinism, and input immutability.
|
|
170
|
+
- `tests/unit/boundedAgentContextProjection.test.ts` (+20 tests): no-fidelity backward compatibility, identity changing only with semantically-present/different fidelity content, fidelity-derived targets appearing in `targets` with full geometry (single- and two-target relationship), not-evaluated-fidelity adequacy degradation (required and non-required), passing-fidelity adequacy non-degradation, cross-artifact `candidateObservationId` coherence rejection, input immutability, determinism, and full artifact structural validity.
|
|
171
|
+
- `tests/unit/boundedAgentContextIdentity.test.ts` (+6 tests): omitting `fidelity`/`referenceId`/`referenceRequestId` produces byte-identical identity to before the parameters existed; supplying/changing them changes identity appropriately.
|
|
172
|
+
- `tests/unit/boundedAgentContext.test.ts` (+9 tests): `fidelity` field acceptance/rejection on the top-level artifact validator, `sources.referenceId`/`referenceRequestId` acceptance, and a dedicated `isValidBoundedReferenceFidelityProjection` describe block (valid minimal/not-evaluated projections, exact-cap/one-over-cap for both `mismatches` and `protectedContext`, malformed-entry rejection, unavailable-without-reasonCode rejection, non-object rejection).
|
|
173
|
+
- `tests/unit/externalReferenceRequirements.test.ts` (+3 tests) and `tests/unit/externalReferenceFidelity.test.ts` (+8 tests): the two new defense-in-depth structural validators.
|
|
174
|
+
|
|
175
|
+
## Validation results
|
|
176
|
+
|
|
177
|
+
All commands run from the repository root, after the implementation commit:
|
|
178
|
+
|
|
179
|
+
- `npm run typecheck` — pass, zero errors.
|
|
180
|
+
- `npm run lint` — pass, zero errors/warnings (one `no-unused-vars` was caught and fixed during development — see Tooling incidents).
|
|
181
|
+
- `npm test` — 49 test files, 981 tests, all pass.
|
|
182
|
+
- `npm run build` — pass, clean `tsc` compile.
|
|
183
|
+
- `npm run check:docs` — pass (17 required files present, `ROADMAP.md` format intact — no implementation batches added).
|
|
184
|
+
- `git diff --check` — exit 0, no whitespace errors (only benign LF→CRLF Windows-checkout notices).
|
|
185
|
+
- `npm pack --dry-run` — pass; `dist/domain/referenceFidelityProjection.{js,d.ts,js.map}` confirmed present in the tarball listing (public exports changed, so this was run per the task's requirement).
|
|
186
|
+
- `npm run test:security` — pass (5 + 63 = 68 tests), run per established repository regression policy.
|
|
187
|
+
- `npm run test:browser` — pass (9 files, 120 tests, real Chromium), run as full regression confirmation. No flaky-test incident occurred on this run (all 120 passed cleanly on the first attempt).
|
|
188
|
+
|
|
189
|
+
## Regression results
|
|
190
|
+
|
|
191
|
+
- Prompt 1 external-reference foundation: unaffected — `externalReference.ts` untouched.
|
|
192
|
+
- Prompt 2 regions/relationships: unaffected — untouched.
|
|
193
|
+
- Prompt 3 requirements/tolerances/adequacy: unaffected in behavior — `externalReferenceRequirements.ts`'s only change is one new additive validator function; `deriveReferenceRequirementAdequacy`'s own logic is untouched, and every existing test for it still passes unchanged.
|
|
194
|
+
- Prompt 4 compatibility: unaffected — untouched.
|
|
195
|
+
- Prompt 5 binding: unaffected — untouched.
|
|
196
|
+
- Prompt 6 fidelity: unaffected in behavior — `externalReferenceFidelity.ts`'s only change is one new additive validator function; `evaluateReferenceCandidateFidelity`'s own logic is untouched, and every existing test for it still passes unchanged.
|
|
197
|
+
- v0.4 comparison/relationship behavior: unaffected — untouched.
|
|
198
|
+
- v0.5 contracts/evaluation: unaffected — untouched.
|
|
199
|
+
- v0.6 bounded context/correlation: unaffected when fidelity is absent — verified explicitly by a dedicated backward-compatibility test (behavior K) confirming no `fidelity` key appears and `sources.referenceId` is `undefined`; every pre-existing `boundedAgentContextProjection.test.ts`/`boundedAgentContext.test.ts`/`boundedAgentContextIdentity.test.ts`/`boundedAgentContextCorrelation.test.ts` test continues to pass unchanged, including the IMP-SHARED/IMP-B rescue-regression suite.
|
|
200
|
+
- Full unit (981/981), browser (120/120), and security (68/68) suites all pass with zero regressions.
|
|
201
|
+
|
|
202
|
+
## Browser-flake incidents
|
|
203
|
+
|
|
204
|
+
None this prompt. The single `test:browser` run completed cleanly (120/120) on the first attempt.
|
|
205
|
+
|
|
206
|
+
## Security impact
|
|
207
|
+
|
|
208
|
+
- No new external input surface — `projectBoundedAgentContext`/`projectReferenceFidelity` are pure, in-memory functions with no file, network, or browser access; no CLI/config-file surface was added.
|
|
209
|
+
- `test:security` (policy + real-Chromium adapter tests) re-run and passing, confirming no regression to the existing safety/navigation policy surface (untouched by this prompt).
|
|
210
|
+
|
|
211
|
+
## Documentation changes
|
|
212
|
+
|
|
213
|
+
- `docs/CONTRACTS.md` — new "v0.7 Prompt 7 bounded reference-fidelity projection and v0.6 bounded-agent-context integration" section (integration-owner rationale, full type shapes, selection/priority policy, cap values, omission/truncation/adequacy behavior, not-evaluated handling, per-target/multi-target representation, static-correlation reuse, provenance, identity/schema/persistence/CLI decisions).
|
|
214
|
+
- `docs/ARCHITECTURE.md` — new paragraph in the "Current v0.6 architecture" continuation describing the Prompt 7 module additions and their reuse of v0.6's existing tiering/allocation machinery.
|
|
215
|
+
- `docs/WORKFLOWS.md` — "Current bounded agent context workflow" extended with a "v0.7 Prompt 7 addition" subsection and flow diagram.
|
|
216
|
+
- `docs/COMMANDS.md` — not touched (no CLI surface change this prompt, as expected).
|
|
217
|
+
|
|
218
|
+
## Tooling incidents
|
|
219
|
+
|
|
220
|
+
Two implementation mistakes were caught and fixed during development, before any commit:
|
|
221
|
+
|
|
222
|
+
1. **Identity backward-compatibility bug**: the first draft of the `sources.referenceId`/`referenceRequestId` semantic-view inclusion in `boundedAgentContextIdentity.ts` used the `?? null` pattern from the pre-existing fields, which would have silently changed every historical `contextRequestId` hash. Caught by re-reading the module's own doc comment about the omit-vs-null convention before running any test; fixed to the correct omit-when-`undefined` pattern.
|
|
223
|
+
2. **Priority-ordering bug**: the first draft of `projectReferenceFidelity` restored Prompt 6's original authored order for the *entire* retained `mismatches` array after priority-based selection, rather than preserving priority order in the output. Caught immediately by a failing test (`failed-before-unavailable priority...`) during the initial test run; fixed by reporting `mismatches` in the already-priority-sorted order directly.
|
|
224
|
+
|
|
225
|
+
No orchestrator was invoked (direct-implementation mode used throughout, consistent with Prompts 2–7); no background/speculative subagent writes occurred; the Prompt 1 stray-fork-writes stash remains untouched, unapplied, and unmined as precedent.
|
|
226
|
+
|
|
227
|
+
## Out-of-scope confirmation
|
|
228
|
+
|
|
229
|
+
This prompt implements no coding-agent invocation, no prompt-platform integration, no source editing, no rerender/retry orchestration, no autonomous correction, no final v0.7 review lifecycle, no baseline approval, no viewer, and no annotation. It never modifies `my-dev-kit-orchestrator` or any my-dev-kit product code, never invents source ownership, never reads source files itself, and never runs my-dev-kit as product behavior — `deriveRuntimeStaticCorrelations`/`attachRuntimeStaticCorrelations` remain the caller's own, entirely unmodified, separate step.
|
|
230
|
+
|
|
231
|
+
## Known limitations
|
|
232
|
+
|
|
233
|
+
- `MAX_FIDELITY_MISMATCHES`/`MAX_FIDELITY_PROTECTED_CONTEXT` are judgment-call bounds with no measured fixture corpus behind them yet, matching the same documented limitation v0.6 Batch 1's own original bounds carried.
|
|
234
|
+
- Fidelity's `required`/`optional` tiering is derived solely from the requirement's authored `category`/`expectedDependentMode` (reusing v0.6's exact `clauseTier` rule) — there is no separate, fidelity-specific "focus" filter (analogous to `focusTargetIds`) for selecting which reference regions matter; every non-passing selected requirement is automatically a mismatch candidate, which is judged sufficient since Prompt 3's own requirement-selection discipline already scopes the requirement set to what the user explicitly cares about.
|
|
235
|
+
- No CLI surface exists for inspecting a fidelity-aware bounded context outside of direct programmatic use, consistent with v0.6's existing library-only architecture and this prompt's explicit CLI-decision guidance.
|
|
236
|
+
|
|
237
|
+
## Remaining risks
|
|
238
|
+
|
|
239
|
+
- None identified that block this prompt's own scope. The primary forward consideration for Prompt 8 (controlled end-to-end coding-agent correction workflow) is how it will actually invoke `deriveRuntimeStaticCorrelations` using the runtime target ids surfaced by `artifact.fidelity.mismatches[].boundRuntimeTargets`, and how it will present the joined fidelity+target+correlation view (the "TARGET / FAILED REQUIREMENTS / RUNTIME TARGET / STATIC CORRELATION" example format) to a coding agent — flagged for that prompt's own precedent review and design, not preempted here.
|
|
240
|
+
|
|
241
|
+
## Exact next action
|
|
242
|
+
|
|
243
|
+
v0.7 Prompt 8 — controlled end-to-end external-reference coding-agent correction workflow, correction iteration, contract composition, and real-browser proof.
|