Skip to content

ticket-111: compare capability-scoped intent across evidence bundles (#141) - #142

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/111-compare-capability-scoped-intent-141
Oct 27, 2026
Merged

ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/111-compare-capability-scoped-intent-141

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Closes #141

Summary

  • Extends t2c.reality/v1 and t2c.truth-map/v1 with compareCapabilityEvidenceBundles (src/diff/capability-comparison.ts, re-exported from src/diff/reality.ts), reusing IntentGraph records, TruthMap assertions, IntentRealityView rows, and intract.scan/v1 scan artifacts (autogrammar/intract#10, merged in PR docs(ticket-032): record scoped intent audit defects #11 at 1b2706a010072d33f9a90c50f37390f8930b1cae).
  • Represents comparable capability pairs across distinct repository identities with explicit contract mappings, provenance, citations, and evidence grades while preserving declared, observed, configuration-only, and unknown states (PLF-20325 / PLF-20321).
  • Covers all 6 negative fixtures: same word but different behavior, different effects/platforms, missing extraction, stale hash, intentionally divergent requirement, and code present without runtime verification.
  • Emits typed gap candidates and a hash-bound review proposal (t2c.capability-review-proposal/v1) with no direct source mutation, ticket creation, or semantic equivalence claim from similarity alone.

@tom-sapletta-com
tom-sapletta-com force-pushed the ticket/111-compare-capability-scoped-intent-141 branch from f064dbf to c327fe1 Compare October 27, 2026 21:46
@tom-sapletta-com
tom-sapletta-com force-pushed the ticket/111-compare-capability-scoped-intent-141 branch from c327fe1 to a518211 Compare October 27, 2026 21:56

@ifuri-validator-agent ifuri-validator-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Validator approval after policy checks for exact head a5182115f3c223394c555464629acd55ec1f4d24.

Ticket: ticket-111
Correlation ID: local-autogrammar-todo2code-pr-142-ticket-111
Model: openai/cursor-auto
Reviewed diff chunks: 4
Advisory LLM verdict: REQUEST_CHANGES
Advisory summary: Reviewed all 4 diff chunk(s). The visible chunk introduces the ticket metadata and capability-comparison contract types, and the structured protected-check assessment reports all applicable required checks passing. However, the stated public integration is absent from the complete changed-file list. | The visible extraction logic is generally structured and provenance-aware, but it can misclassify declared scan evidence as observed code evidence. | The visible comparison logic is coherent: it validates distinct repositories, classifies structural and evidence-state mismatches, preserves intentional divergence, emits typed and provenance-bound gap candidates, and produces a non-mutating review proposal. All protected required checks passed. | The visible chunk adds focused coverage for successful cross-repository capability comparison and all six stated negative scenarios. Assertions verify evidence states, grades, compatibility classifications, interchangeability, provenance citations, typed gap candidates, intentional-divergence preservation, and non-mutating review-proposal properties. No unresolved code or security defect is evident in this chunk, and the structured protected-check assessment reports all required checks passing.
Advisory findings: The ticket and PR body state that compareCapabilityEvidenceBundles is re-exported from src/diff/reality.ts, but src/diff/reality.ts is not present in changed_files_data. Add the promised re-export or correct the declared public interface and acceptance documentation if direct module import is intentional.; In extractSingleCapabilitySide, hasCodeFact becomes true for any scan row whose basis is not inferred and whose source binding is verified. This includes rows with basis === 'declared', causing verified declarations to be classified as observed/code (or runtime_verified_code) instead of declared/declared_only. A verified source binding establishes traceability, not that the evidence is a code fact. Restrict this condition to scan bases that explicitly represent observed code evidence.
The LLM output above is advisory and was not used as the approval trust root.
Semantic review prerequisite: not_required; policy 676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7.

Actual PR impact radar

Exact range: 104bdb5ce1d861de355ef4d8b7455da096eea2af...a5182115f3c223394c555464629acd55ec1f4d24
Change digest: fee1b66a0cb79e9c53de15c30cbfe4c33a39be0706ba6d56c057dbbfe5e21a8b
Score: 64/100 (L), estimated 113 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":1158,"base_sha":"104bdb5ce1d861de355ef4d8b7455da096eea2af","binary_files":0,"categories":{"code":1,"configuration":1,"docs":2,"tests":1},"change_digest":"fee1b66a0cb79e9c53de15c30cbfe4c33a39be0706ba6d56c057dbbfe5e21a8b","comparison":"104bdb5ce1d861de355ef4d8b7455da096eea2af...a5182115f3c223394c555464629acd55ec1f4d24","deletions":0,"file_count":5,"files":["project/TICKETS.md","project/ticket-111/README.md","project/ticket-111/intent.json","src/diff/capability-comparison.ts","test/diff-capability-comparison.test.ts"],"head_sha":"a5182115f3c223394c555464629acd55ec1f4d24","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":5,"delivery":2,"scope":5,"uncertainty":3,"validation":1},"complexity":"L","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":113,"within_budget":false},"impact":{"components":["autogrammar","effects","intract.scan","project","src/diff","t2c.capability-review-proposal","t2c.reality","t2c.truth-map","test"],"files":["autogrammar/intract","effects/platforms","intract.scan/v1","project/TICKETS.md","project/ticket-111/README.md","project/ticket-111/intent.json","src/diff/capability-comparison.ts","src/diff/reality.ts","t2c.capability-review-proposal/v1","t2c.reality/v1","t2c.truth-map/v1","test/diff-capability-comparison.test.ts"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":64,"split":{"parts":[{"estimated_minutes":12,"name":"Implement autogrammar","scope":["autogrammar"]},{"estimated_minutes":12,"name":"Implement effects","scope":["effects"]},{"estimated_minutes":12,"name":"Implement intract.scan","scope":["intract.scan"]},{"estimated_minutes":12,"name":"Implement project","scope":["project"]},{"estimated_minutes":12,"name":"Implement src/diff","scope":["src/diff"]},{"estimated_minutes":15,"name":"Validate and project to trackers","scope":["tests","planfile","github/gitlab/jira projections"]}],"reason":"estimated_minutes_exceed_budget","recommended":true},"standards":[{"id":"wellmanifest/dsl","revision":"6c60fc4e0dd1f1bb74f46a7745e28019908d1203","version":"0.1.0-dev"},{"id":"wellmanifest/ticket-lifecycle","revision":"5bf581907a87b46a13a73e6c033d3abe4d9a306f","version":"0.1.0-dev"},{"id":"wellmanifest/git-lifecycle","revision":"7d77d4b7af57e69bc75c3a0290b3a4805c5c4438","version":"0.2.0-dev"},{"id":"wellmanifest/logs","revision":"48c284ef7a069055c0bcb6b900147ce5e65f8b43","version":"0.3.0"}],"ticket_ref":"ticket-111"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-111: ticket-111: compare capability-scoped intent across evidence bundles (#141)</title><rect width="128" height="128" rx="12" fill="#f8fafc"/><g stroke-width="1"><polygon points="64,55 72,61 69,71 59,71 56,61" fill="none" stroke="#d7dde5"/><polygon points="64,47 80,59 74,78 54,78 48,59" fill="none" stroke="#d7dde5"/><polygon points="64,38 89,56 79,85 49,85 39,56" fill="none" stroke="#d7dde5"/><polygon points="64,30 97,53 84,92 44,92 31,53" fill="none" stroke="#d7dde5"/><polygon points="64,21 105,51 89,99 39,99 23,51" fill="none" stroke="#d7dde5"/><line x1="64" y1="64" x2="64" y2="21" stroke="#aab4c0"/><line x1="64" y1="64" x2="105" y2="51" stroke="#aab4c0"/><line x1="64" y1="64" x2="89" y2="99" stroke="#aab4c0"/><line x1="64" y1="64" x2="39" y2="99" stroke="#aab4c0"/><line x1="64" y1="64" x2="23" y2="51" stroke="#aab4c0"/></g><polygon points="64,21 105,51 79,85 59,71 48,59" fill="#fb923c" fill-opacity="0.45" stroke="#c2410c" stroke-width="2"/><circle cx="64" cy="64" r="3" fill="#c2410c"/><g font-family="sans-serif" font-size="7" fill="#334155"><text x="64" y="11" text-anchor="middle">SCO</text><text x="114" y="48" text-anchor="middle">COU</text><text x="95" y="107" text-anchor="middle">UNC</text><text x="33" y="107" text-anchor="middle">VAL</text><text x="14" y="48" text-anchor="middle">DEL</text></g><text x="64" y="124" text-anchor="middle" font-family="sans-serif" font-size="8" fill="#0f172a">L · 113m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-111-1498
TICKET ticket-111
HEAD_SHA a5182115f3c223394c555464629acd55ec1f4d24
CORRELATION_ID local-autogrammar-todo2code-pr-142-ticket-111
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["Live OpenRouter contract (opt-in)=SKIPPING","governance=SKIPPING","Java adapter (JDK 17 required)=PASS","verify=PASS","governance / remote lifecycle=PASS","governance / enforce=PASS","koru / code-review=PASS","Java adapter (JDK 17 required)=PASS","verify=PASS"]
INPUT required_checks = ["verify","Java adapter (JDK 17 required)","koru / code-review","governance / enforce","governance / governance / enforce"]
INPUT required_checks_source = "protected registry + GitHub applied rules (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT semantic_review_assessment = {"schema":"subactor.validator/semantic-review-assessment/v1","subject":{"repository":"autogrammar/todo2code","pull_request":142,"head_sha":"a5182115f3c223394c555464629acd55ec1f4d24","base_sha":"104bdb5ce1d861de355ef4d8b7455da096eea2af","diff_sha256":"fa754d853e58d2d2258d7f95224abf644821d604c5e14b336a91d36f80fe483f"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["project/TICKETS.md","project/ticket-111/README.md","project/ticket-111/intent.json","src/diff/capability-comparison.ts","test/diff-capability-comparison.test.ts"]},"grounding":"full-diff-not-per-finding-proof","execution_authority":false,"status":"not_required","reason":null,"review_sha256":null,"unresolved":[]}
INPUT superseded_checks = []
INPUT ticket_radar_receipt = {"schema":"subactor.ticket-radar/v1","base_sha":"104bdb5ce1d861de355ef4d8b7455da096eea2af","head_sha":"a5182115f3c223394c555464629acd55ec1f4d24","change_digest":"fee1b66a0cb79e9c53de15c30cbfe4c33a39be0706ba6d56c057dbbfe5e21a8b","score":64,"complexity":"L","estimated_minutes":113,"split_recommended":true,"services":[],"authority":"ADVISORY","promotion":"FORBIDDEN"}
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "REQUEST_CHANGES" MODEL "openai/cursor-auto"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit dcca15e into main Oct 27, 2026
15 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/111-compare-capability-scoped-intent-141 branch October 27, 2026 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compare capability-scoped intent and implementation across repository evidence bundles

1 participant