Skip to content

refactor(scan): separate todo2code suggestion mapping - #154

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/118-todo2code-scan
Sep 8, 2026
Merged

refactor(scan): separate todo2code suggestion mapping#154
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/118-todo2code-scan

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Extracts conversion of one useful todo2code plan into a focused suggestion helper while preserving filtering, truncation, priority, labels and evidence.\n\nValidation: 15 focused tests, Koru-driven regressions, Ruff, governance, Docker Compose and compileall passed. Ticket: ticket-118.

@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.

Deterministic Validator approval for exact head 908ce3f703f3f4034d88ccbecef9c1e6f05043a7.

Ticket: ticket-118
Correlation ID: local-semcod-koru-pr-154-ticket-118
Model: zai/glm-5.3
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Clean behavior-preserving extraction of per-plan todo2code suggestion construction into _todo2code_plan_suggestion. Dependencies passed as parameters match previous inline usage (_PRIORITY_MAP, _plan_dedupe_key, TODO2CODE_SOURCE), and filtering, truncation, priority normalization, labels, evidence and dedupe key logic are identical to the removed inline code. Intent metadata is consistent with allowed paths.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.

Actual PR impact radar

Exact range: 5aadcaaf87bd43c52ee33c414c7b9c10e6eeaa13...908ce3f703f3f4034d88ccbecef9c1e6f05043a7
Change digest: d66e9cf3865767f6d4a3d6692f2175939b02840fcb606174d3deb6712ec17ac3
Score: 32/100 (M), estimated 37 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":96,"base_sha":"5aadcaaf87bd43c52ee33c414c7b9c10e6eeaa13","binary_files":0,"categories":{"code":1,"configuration":1,"docs":1},"change_digest":"d66e9cf3865767f6d4a3d6692f2175939b02840fcb606174d3deb6712ec17ac3","comparison":"5aadcaaf87bd43c52ee33c414c7b9c10e6eeaa13...908ce3f703f3f4034d88ccbecef9c1e6f05043a7","deletions":36,"file_count":3,"files":["project/ticket-118/README.md","project/ticket-118/intent.json","src/koru/scan.py"],"head_sha":"908ce3f703f3f4034d88ccbecef9c1e6f05043a7","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":2,"delivery":1,"scope":1,"uncertainty":3,"validation":1},"complexity":"M","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":37,"within_budget":false},"impact":{"components":["project","src/koru"],"files":["project/ticket-118/README.md","project/ticket-118/intent.json","src/koru/scan.py"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":32,"split":{"parts":[{"estimated_minutes":14,"name":"Implement project","scope":["project"]},{"estimated_minutes":14,"name":"Implement src/koru","scope":["src/koru"]},{"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-118"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-118: refactor(scan): separate todo2code suggestion mapping</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,55 80,59 79,85 59,71 56,61" 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">M · 37m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-118-6678
TICKET ticket-118
HEAD_SHA 908ce3f703f3f4034d88ccbecef9c1e6f05043a7
CORRELATION_ID local-semcod-koru-pr-154-ticket-118
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["standard packs / conformance=PASS","governance / remote lifecycle=PASS","governance / enforce=PASS","onedev/local-verify=PASS"]
INPUT required_checks = ["onedev/local-verify","standard packs / conformance"]
INPUT required_checks_source = "protected registry + GitHub applied rules (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT superseded_checks = ["smoke"]
INPUT ticket_radar_receipt = {"schema":"subactor.ticket-radar/v1","base_sha":"5aadcaaf87bd43c52ee33c414c7b9c10e6eeaa13","head_sha":"908ce3f703f3f4034d88ccbecef9c1e6f05043a7","change_digest":"d66e9cf3865767f6d4a3d6692f2175939b02840fcb606174d3deb6712ec17ac3","score":32,"complexity":"M","estimated_minutes":37,"split_recommended":true,"services":[],"authority":"ADVISORY","promotion":"FORBIDDEN"}
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "zai/glm-5.3"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 9c609d3 into main Sep 8, 2026
5 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/118-todo2code-scan branch September 8, 2026 20:17
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.

1 participant