Skip to content

[ticket-119] [ticket-119] Reuse Goal publication and repair build tooling - #152

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/119-goal-publication
Nov 1, 2026
Merged

ifuri-validator-agent[bot] merged 1 commit into
mainfrom
ticket/119-goal-publication

Conversation

@tom-sapletta-com

@tom-sapletta-com tom-sapletta-com commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Ticket: ticket-119

make publish currently cleans and builds before publication control, installs Twine and uploads directly. Delegate it to the existing required Goal workflow with GOAL ?= goal and no build prerequisite; mark publish phony so an existing file cannot suppress it. Goal now controls admission and subprocess failure remains visible to make.

The unchanged SPDX license fails under the declared setuptools 68 floor; raise it to 77.0.3. Require goal[publish]>=2.2.7 for the dev interpreter, retaining the existing Python >=3.12 marker and Python >=3.10 runtime support. Align VERSION, project and stale lock root at 2.2.58 in this material implementation. Targeted lock resolution preserves all 131 existing unrelated version/source/artifact records; it adds the Goal publication dependency closure and retains the old costs record for older interpreters. Runtime requirements are unchanged.

Validation: isolated backend red/green probe; real wheel and sdist build; fake-CLI success/failure checks prove exact argv/cwd, no pre-admission clean/build/upload and preserved existing dist, including a pre-existing publish file; three affected tests passed under Testless and actual Goal -a delivery. Native governance passes. Required Python 3.10/3.11/3.12, distro and OneDev coverage and independent Validator merge remain enforced. Registry publication through Goal follows the accepted merge.

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

Ticket: ticket-119
Correlation ID: local-semcod-fixos-pr-152-ticket-119
Model: openai/cursor-auto
Reviewed diff chunks: 5
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 5 diff chunk(s). The visible changes correctly delegate publication to Goal without a build prerequisite, keep failure propagation through make, update the build backend floor for SPDX support, align the package version, and add the requested Goal publish extra while preserving the Python 3.10+ runtime requirement. No unresolved code or security defects are evident in this chunk. | The visible chunk is a generated uv.lock addition for cryptography 50.0.2 with pinned source artifacts and SHA-256 hashes. No code-quality or security defect is evident in this chunk, and the dependency addition is consistent with the described publication dependency closure. | The visible lockfile changes consistently update the project to 2.2.58, upgrade Goal to 2.2.7 with its publish extra, preserve interpreter-specific Costs resolution, and add the expected publication dependency closure. No code-safety or security defect is evident in this chunk. | The visible lockfile changes add a coherent publication dependency closure with platform markers, pinned versions, artifact hashes, and no evident code or security defect in this chunk. | The visible lockfile chunk consistently adds Twine 7.0.0 and its publication dependency closure with pinned sources and hashes. No code-safety or security defect is evident in this chunk.
Advisory findings: none
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: 41c96780a18f182da0a2422843a8e91303167e33...ae60b634c99b28649a504cb276d802feb55c8eb2
Change digest: c4697828c9b9a4a70bd059adb36ea6d852fb6336f178c42f0e806fe18ec4e2c3
Score: 68/100 (L), estimated 106 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":451,"base_sha":"41c96780a18f182da0a2422843a8e91303167e33","binary_files":0,"categories":{"code":3,"configuration":2,"docs":2},"change_digest":"c4697828c9b9a4a70bd059adb36ea6d852fb6336f178c42f0e806fe18ec4e2c3","comparison":"41c96780a18f182da0a2422843a8e91303167e33...ae60b634c99b28649a504cb276d802feb55c8eb2","deletions":23,"file_count":7,"files":["Makefile","VERSION","project/TICKETS.md","project/ticket-119/README.md","project/ticket-119/intent.json","pyproject.toml","uv.lock"],"head_sha":"ae60b634c99b28649a504cb276d802feb55c8eb2","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":5,"delivery":3,"scope":5,"uncertainty":3,"validation":1},"complexity":"L","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":106,"within_budget":false},"impact":{"components":["3.10","argv","clean","project","red","repository-root","success","version"],"files":["3.10/3.11/3.12","Makefile","VERSION","argv/cwd","clean/build/upload","project/TICKETS.md","project/ticket-119/README.md","project/ticket-119/intent.json","pyproject.toml","red/green","success/failure","uv.lock","version/source/artifact"],"public_interfaces":[],"runtime_dependencies":1},"schema":"subactor.ticket-radar/v1","score":68,"split":{"parts":[{"estimated_minutes":12,"name":"Implement 3.10","scope":["3.10"]},{"estimated_minutes":12,"name":"Implement argv","scope":["argv"]},{"estimated_minutes":12,"name":"Implement clean","scope":["clean"]},{"estimated_minutes":12,"name":"Implement project","scope":["project"]},{"estimated_minutes":12,"name":"Implement red","scope":["red"]},{"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: [ticket-119] [ticket-119] Reuse Goal publication and repair build tooling</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 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">L · 106m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-119-1500
TICKET ticket-119
HEAD_SHA ae60b634c99b28649a504cb276d802feb55c8eb2
CORRELATION_ID local-semcod-fixos-pr-152-ticket-119
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["test-summary=PASS","test (3.12)=PASS","test (3.10)=PASS","test (3.11)=PASS","test-ubuntu=PASS","test-debian=PASS","test-alpine=PASS","test-fedora=PASS","test-arch=PASS","governance / remote lifecycle=PASS","governance / enforce=PASS","onedev/local-verify=PASS"]
INPUT required_checks = ["onedev/local-verify","test (3.10)","test (3.11)","test (3.12)","test-summary"]
INPUT required_checks_source = "protected registry (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT semantic_review_assessment = {"schema":"subactor.validator/semantic-review-assessment/v1","subject":{"repository":"semcod/fixos","pull_request":152,"head_sha":"ae60b634c99b28649a504cb276d802feb55c8eb2","base_sha":"41c96780a18f182da0a2422843a8e91303167e33","diff_sha256":"d42fe7af3ca16d50f138dadfe4a4eafdfe889e540faefdd433fdd8d3c45d731d"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["Makefile","VERSION","project/TICKETS.md","project/ticket-119/README.md","project/ticket-119/intent.json","pyproject.toml","uv.lock"]},"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":"41c96780a18f182da0a2422843a8e91303167e33","head_sha":"ae60b634c99b28649a504cb276d802feb55c8eb2","change_digest":"c4697828c9b9a4a70bd059adb36ea6d852fb6336f178c42f0e806fe18ec4e2c3","score":68,"complexity":"L","estimated_minutes":106,"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 "openai/cursor-auto"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 6927102 into main Nov 1, 2026
12 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/119-goal-publication branch November 1, 2026 00:34
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