Skip to content

refactor(goal): separate workspace repository selection - #155

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/119-goal-workspace-selection
Sep 8, 2026
Merged

refactor(goal): separate workspace repository selection#155
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/119-goal-workspace-selection

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Extracts dirty repository selection from Goal workspace resolution while preserving fail-closed handling for unreadable, empty and ambiguous umbrellas.\n\nValidation: 10 focused tests, Koru-driven regressions, Ruff, governance, Docker Compose and compileall passed. Ticket: ticket-119.

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

Ticket: ticket-119
Correlation ID: local-semcod-koru-pr-155-ticket-119
Model: zai/glm-5.3
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Pure behavior-preserving extraction of dirty repository selection into _select_workspace_repository, with identical error ordering, messages, and fail-closed semantics. Accompanied by intent metadata and README only.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.

Actual PR impact radar

Exact range: 9c609d3fb5702ff0e41c848f6d384180cbe8bc9f...866a0fca97812a4e7d947c37ef9d4f2e71bee5f4
Change digest: fe7567877e8447946964676a39159c056cbd2b0b64e378e19e234b427f41e160
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":90,"base_sha":"9c609d3fb5702ff0e41c848f6d384180cbe8bc9f","binary_files":0,"categories":{"code":1,"configuration":1,"docs":1},"change_digest":"fe7567877e8447946964676a39159c056cbd2b0b64e378e19e234b427f41e160","comparison":"9c609d3fb5702ff0e41c848f6d384180cbe8bc9f...866a0fca97812a4e7d947c37ef9d4f2e71bee5f4","deletions":33,"file_count":3,"files":["project/ticket-119/README.md","project/ticket-119/intent.json","src/koru/goal_workspace.py"],"head_sha":"866a0fca97812a4e7d947c37ef9d4f2e71bee5f4","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-119/README.md","project/ticket-119/intent.json","src/koru/goal_workspace.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-119"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-119: refactor(goal): separate workspace repository selection</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-119-4535
TICKET ticket-119
HEAD_SHA 866a0fca97812a4e7d947c37ef9d4f2e71bee5f4
CORRELATION_ID local-semcod-koru-pr-155-ticket-119
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["governance / remote lifecycle=PASS","governance / enforce=PASS","standard packs / conformance=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":"9c609d3fb5702ff0e41c848f6d384180cbe8bc9f","head_sha":"866a0fca97812a4e7d947c37ef9d4f2e71bee5f4","change_digest":"fe7567877e8447946964676a39159c056cbd2b0b64e378e19e234b427f41e160","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 1d9f14e into main Sep 8, 2026
5 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/119-goal-workspace-selection branch September 8, 2026 20:23
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