Skip to content

governance(ticket-018): native seeds, subproject ownership, retire landed tickets - #37

Merged
ifuri-validator-agent[bot] merged 2 commits into
mainfrom
ticket/018-governance-repair-subproject-ownership-manifest-lock-sync-retire-landed-tickets
Oct 23, 2026
Merged

ifuri-validator-agent[bot] merged 2 commits into
mainfrom
ticket/018-governance-repair-subproject-ownership-manifest-lock-sync-retire-landed-tickets

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Naprawa governance debt, który blokował każdy cross-subproject diff (w tym PR-y Dependabota #32/#33/#34).

Zawartość

  • adopcja natywna: goal governance adopt 2ddba883 (wellmanifest/new-project 0.20.89) — normalizacja .governance/manifest.json, instalacja .gitattributes + project.bat
  • własność subprojektów: application obejmuje teraz mcp-docs/** i mcp-webui/** (wcześniej martwa strefa — requirements.txt bez właściciela)
  • zaśnięcie 7 ticketów (009, 011-016) z dowodami lądowania w każdym README (m.in. ticket-014: lock 108 managed files @ 2ddba883 już na mainie; ticket-013: ORG_SYNC_PAT || github.token w verify.yml; ticket-016: VERSION 0.1.7)
  • ticket-019 (integration): zarządzane nasiona + deklaracja własności
  • ticket-020 (application): cross-subproject dependency maintenance — diffy Dependabota rozwiązują się do dokładnie jednego aktywnego ticketu

Skutki dla CI (wcześniej GOV-INTENT-002 / GOV-TICKET-005 / GOV-SYNC-001 / GOV-WORKSTREAM-003/004)

  • ticket-014 DONE → brak aktywnego rekordu adoption → GOV-SYNC-001 przestaje odpalać na obcych diffach
  • 011-013 DONE → brak v1-intentów w aktywnym zbiorze
  • 009/014/015/016 DONE → brak nakładających się zakresów
  • 019+020 → SCOPE/TICKET resolution zielone

Weryfikacja lokalna

  • governance-check na diffie tego PR: GOV-PASS (0 errors)
  • symulacja diffu Dependabota (3× requirements.txt): GOV-PASS

…hip, retire landed tickets

- goal governance adopt 2ddba883 (new-project 0.20.89): normalize
  .governance/manifest.json, install .gitattributes and project.bat
- declare application ownership for mcp-docs/** and mcp-webui/** so the
  subproject requirement manifests resolve to an owning workstream
- retire tickets 009, 011-016 with landing evidence (their work is on
  main); releases stale reservations that failed intent/workstream/
  scope-overlap checks on unrelated diffs
- allocate ticket-019 (integration: managed seeds + ownership
  declaration) and ticket-020 (application: cross-subproject dependency
  maintenance) so automated dependency PRs resolve to exactly one
  active ticket

Governance gate: GOV-PASS for the landed delta and for a simulated
mcp-docs/mcp-gateway/mcp-webui requirements diff.
…er manifest adoption

The goal governance adoption + mcp-docs/mcp-webui ownership declaration
changed .governance/manifest.json; recompute the declared sha256 for the
manifest artifact across all eight standard-pack adoption records so the
managed projection conformance check verifies the new immutable state.

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

Ticket: ticket-018
Correlation ID: mcp-pr-37-ticket-018
Model: zai/glm-5.3
Reviewed diff chunks: 3
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 3 diff chunk(s). Chunk 1 of 3 contains governance metadata changes: a new .gitattributes file registering a merge driver for ticket-index files, a normalization/reordering of .governance/manifest.json (content appears semantically unchanged apart from addition of mcp-docs/** and mcp-webui/** to the application workstream, consistent with the PR description), and matching sha256 digest updates for the manifest in .governance/standard-adoption.json. All required checks (governance / enforce, governance / remote lifecycle, verify) pass per the protected assessment. | Chunk 2 of 3 covers governance debt repair: retiring seven landed tickets (009, 011-016) with landing evidence, adding new ticket READMEs (018-020), a new project.bat bootstrap wrapper, and manifest digest updates. The new project.bat performs guarded checks (manifest presence, pinned sha256 image validation, docker run with --network none) and contains no dangerous or secret-accessing behavior. Required checks (governance/enforce, governance/remote lifecycle, verify) all PASS per protected assessment with required_checks_passed=true. | Governance metadata chunk adds ticket-018/019/020 intent files and READMEs consistent with the PR's stated goal of retiring landed tickets and declaring subproject ownership. All required checks (governance/enforce, governance/remote lifecycle, verify) pass per the protected check assessment. No security-relevant code, workflows, secrets, or runtime changes are visible in this chunk.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Semantic review prerequisite: satisfied; policy 676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7.

Actual PR impact radar

Exact range: 68cb67dae23c47358566d15ff58371accd88d8cb...7cdfa710b62d85c8c5551a25b2fba48dac3f2e51
Change digest: 038ed12907aa83714bc7a1076604e54cc4f79bd7e719e3ff154ae64db6631f76
Score: 72/100 (L), estimated 132 min, split recommended: true
Affected services/components: repository-wide/unclassified

Machine-readable radar JSONL and SVG
{"actual_change":{"additions":440,"base_sha":"68cb67dae23c47358566d15ff58371accd88d8cb","binary_files":0,"categories":{"code":2,"configuration":5,"docs":11},"change_digest":"038ed12907aa83714bc7a1076604e54cc4f79bd7e719e3ff154ae64db6631f76","comparison":"68cb67dae23c47358566d15ff58371accd88d8cb...7cdfa710b62d85c8c5551a25b2fba48dac3f2e51","deletions":185,"file_count":18,"files":["gitattributes","governance/manifest.json","governance/standard-adoption.json","project.bat","project/TICKETS.md","project/ticket-009/README.md","project/ticket-011/README.md","project/ticket-012/README.md","project/ticket-013/README.md","project/ticket-014/README.md","project/ticket-015/README.md","project/ticket-016/README.md","project/ticket-018/README.md","project/ticket-018/intent.json","project/ticket-019/README.md","project/ticket-019/intent.json","project/ticket-020/README.md","project/ticket-020/intent.json"],"head_sha":"7cdfa710b62d85c8c5551a25b2fba48dac3f2e51","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":5,"delivery":4,"scope":5,"uncertainty":3,"validation":1},"complexity":"L","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":132,"within_budget":false},"impact":{"components":["009","GOV-WORKSTREAM-003","SCOPE","governance","project","repository-root","wellmanifest"],"files":["009/014/015/016","GOV-WORKSTREAM-003/004","SCOPE/TICKET","gitattributes","governance/manifest.json","governance/standard-adoption.json","project.bat","project/TICKETS.md","project/ticket-009/README.md","project/ticket-011/README.md","project/ticket-012/README.md","project/ticket-013/README.md","project/ticket-014/README.md","project/ticket-015/README.md","project/ticket-016/README.md","project/ticket-018/README.md","project/ticket-018/intent.json","project/ticket-019/README.md","project/ticket-019/intent.json","project/ticket-020/README.md","project/ticket-020/intent.json","wellmanifest/new-project"],"public_interfaces":[],"runtime_dependencies":1},"schema":"subactor.ticket-radar/v1","score":72,"split":{"parts":[{"estimated_minutes":18,"name":"Implement 009","scope":["009"]},{"estimated_minutes":18,"name":"Implement GOV-WORKSTREAM-003","scope":["GOV-WORKSTREAM-003"]},{"estimated_minutes":18,"name":"Implement SCOPE","scope":["SCOPE"]},{"estimated_minutes":18,"name":"Implement governance","scope":["governance"]},{"estimated_minutes":18,"name":"Implement project","scope":["project"]},{"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-018"}
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-018: governance(ticket-018): native seeds, subproject ownership, retire landed tickets</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 31,53" 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 · 132m</text></svg>
Merge will be attempted after this approval when explicitly authorized. ## Decision record (recomputable)
DECISION D-018-5239
TICKET ticket-018
HEAD_SHA 7cdfa710b62d85c8c5551a25b2fba48dac3f2e51
CORRELATION_ID mcp-pr-37-ticket-018
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["governance / remote lifecycle=PASS","verify=PASS","governance / enforce=PASS"]
INPUT required_checks = ["governance / enforce","governance / remote lifecycle","verify"]
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/mcp","pull_request":37,"head_sha":"7cdfa710b62d85c8c5551a25b2fba48dac3f2e51","base_sha":"68cb67dae23c47358566d15ff58371accd88d8cb","diff_sha256":"3febbb7bab67bc627c892ba8ccb039e4e1a72caf550a004a5bbc22373952ed87"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":true,"critical_paths":[".governance/manifest.json",".governance/standard-adoption.json"],"observed_paths":[".gitattributes",".governance/manifest.json",".governance/standard-adoption.json","project.bat","project/TICKETS.md","project/ticket-009/README.md","project/ticket-011/README.md","project/ticket-012/README.md","project/ticket-013/README.md","project/ticket-014/README.md","project/ticket-015/README.md","project/ticket-016/README.md","project/ticket-018/README.md","project/ticket-018/intent.json","project/ticket-019/README.md","project/ticket-019/intent.json","project/ticket-020/README.md","project/ticket-020/intent.json"]},"grounding":"full-diff-not-per-finding-proof","execution_authority":false,"status":"satisfied","reason":null,"review_sha256":"fda841ab16187c4ef91a068ec0b83ad4d699bc0dbf1a887e7fdcf277d80fe13c","unresolved":[]}
INPUT superseded_checks = []
INPUT ticket_radar_receipt = {"schema":"subactor.ticket-radar/v1","base_sha":"68cb67dae23c47358566d15ff58371accd88d8cb","head_sha":"7cdfa710b62d85c8c5551a25b2fba48dac3f2e51","change_digest":"038ed12907aa83714bc7a1076604e54cc4f79bd7e719e3ff154ae64db6631f76","score":72,"complexity":"L","estimated_minutes":132,"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 265c6b1 into main Oct 23, 2026
3 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the ticket/018-governance-repair-subproject-ownership-manifest-lock-sync-retire-landed-tickets branch October 23, 2026 14:18
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