Skip to content

fix(application): push the release tag on publish completion (ticket-210) - #213

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/210-push-release-tag-on-completion
Oct 25, 2026
Merged

ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/210-push-release-tag-on-completion

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Summary

  • Governed modes skip the pre-merge tag; the completion published without tagging, so releases needed manual tags.
  • Completion now creates the annotated tag when missing and pushes only the tag under the governed capability; existing tags are reused, push failures are reported but do not fail the completed publication.

Validation

  • completion module — 15 passed (3 new)
  • full suite green; ./project/governance-check.sh — PASS

…210)

- Governed modes skip the remote release tag before the merge (commit is
  not on the base branch), and the completion published the registry
  without any tag, so releases had to be tagged manually and could not
  serve as release evidence.
- On publish completion goal now creates the annotated tag when missing
  and pushes only that tag through the governed push capability; an
  existing local tag is reused and push failures are reported without
  failing the completed publication.
- Tests: 15 in the completion module (3 new); full suite green;
  governance check PASS.

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

Ticket: ticket-210
Correlation ID: local-semcod-goal-pr-213-ticket-210
Model: ollama/qwen2.5:7b
Advisory LLM review: LLM_UNAVAILABLE
Reason: LLM response contains unexpected keys: reason
This approval rests on the deterministic checks alone; no advisory opinion was recorded for this head.
Semantic review prerequisite: not_required; policy 676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7.

Actual PR impact radar

Exact range: ef1c5bb3fd27ebf1baf89c1149c2db2ae88b6f12...521eacd0ddeca6b8ce0a50fce9995283933688c9
Change digest: d57e486e7c831d3e3f42abddbb71411630360c9f0d85e7e3fc658c545b5346fd
Score: 52/100 (M), estimated 60 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":218,"base_sha":"ef1c5bb3fd27ebf1baf89c1149c2db2ae88b6f12","binary_files":0,"categories":{"code":1,"configuration":1,"docs":2,"tests":1},"change_digest":"d57e486e7c831d3e3f42abddbb71411630360c9f0d85e7e3fc658c545b5346fd","comparison":"ef1c5bb3fd27ebf1baf89c1149c2db2ae88b6f12...521eacd0ddeca6b8ce0a50fce9995283933688c9","deletions":4,"file_count":5,"files":["goal/push/core.py","project/TICKETS.md","project/ticket-210/README.md","project/ticket-210/intent.json","tests/test_push_workflow_completion.py"],"head_sha":"521eacd0ddeca6b8ce0a50fce9995283933688c9","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":3,"delivery":3,"scope":2,"uncertainty":3,"validation":2},"complexity":"M","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":60,"within_budget":false},"impact":{"components":["goal","project","tests"],"files":["goal/push/core.py","project/TICKETS.md","project/governance-check.sh","project/ticket-210/README.md","project/ticket-210/intent.json","tests/test_push_workflow_completion.py"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":52,"split":{"parts":[{"estimated_minutes":17,"name":"Implement goal","scope":["goal"]},{"estimated_minutes":17,"name":"Implement project","scope":["project"]},{"estimated_minutes":17,"name":"Implement tests","scope":["tests"]},{"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-210"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-210: fix(application): push the release tag on publish completion (ticket-210)</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,47 89,56 79,85 54,78 39,56" 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 · 60m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-210-2808
TICKET ticket-210
HEAD_SHA 521eacd0ddeca6b8ce0a50fce9995283933688c9
CORRELATION_ID local-semcod-goal-pr-213-ticket-210
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["governance / enforce=PASS","test (3.13)=PASS","governance / remote lifecycle=PASS","test (3.12)=PASS","onedev/local-verify=PASS"]
INPUT required_checks = ["onedev/local-verify","test (3.12)","test (3.13)","governance / remote lifecycle","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":"semcod/goal","pull_request":213,"head_sha":"521eacd0ddeca6b8ce0a50fce9995283933688c9","base_sha":"ef1c5bb3fd27ebf1baf89c1149c2db2ae88b6f12","diff_sha256":"54c72e1778b706dc9f7e2cff34cf4d005c5141eea84a345796316de3e87b58a7"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["goal/push/core.py","project/TICKETS.md","project/ticket-210/README.md","project/ticket-210/intent.json","tests/test_push_workflow_completion.py"]},"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":"ef1c5bb3fd27ebf1baf89c1149c2db2ae88b6f12","head_sha":"521eacd0ddeca6b8ce0a50fce9995283933688c9","change_digest":"d57e486e7c831d3e3f42abddbb71411630360c9f0d85e7e3fc658c545b5346fd","score":52,"complexity":"M","estimated_minutes":60,"split_recommended":true,"services":[],"authority":"ADVISORY","promotion":"FORBIDDEN"}
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "" MODEL "ollama/qwen2.5:7b"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 4b4f51d into main Oct 25, 2026
5 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/210-push-release-tag-on-completion branch October 25, 2026 10:13
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