Repository navigation
governance(ticket-019): llm-agent/mcp-git-proxy/mcp-skills ownership + dependency tickets - #38
Conversation
…nership, docs, ticket-021 - application workstream owns llm-agent/**, mcp-git-proxy/**, mcp-skills/** - re-pin standard-adoption manifest artifact digests after the ownership change - docs/dependency-ownership.md documents the subproject requirement ownership map - ticket-021 (application) owns llm-agent and mcp-skills dependency manifests for automated dependency PRs (ticket-020 was terminally receipted by the validated merges of #32/#34)
…t, ticket-021 - application workstream owns llm-agent/**, mcp-git-proxy/**, mcp-skills/** - re-pin standard-adoption manifest artifact digests after the ownership change - integration-owned regression test locks the contract: application must own every subproject requirement manifest and ticket-021 must resolve automated dependency updates for all six of them - ticket-021 (application) owns the six requirement manifests for automated dependency PRs (ticket-020 was terminally receipted by the validated merges of #32/#34)
cb8832e to
368eefa
Compare
There was a problem hiding this comment.
Validator approval after policy checks for exact head 368eefa58a672a00c3310cb73fffc07b042f5602.
Ticket: ticket-019
Correlation ID: mcp-019-ownership
Model: gemini/gemini-3.8-flash
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). The PR extends the application workstream path ownership in .governance/manifest.json to include llm-agent/**, mcp-git-proxy/**, and mcp-skills/**, updates artifact checksums in .governance/standard-adoption.json, introduces ticket-021 to manage dependency maintenance, and adds a test verifying workstream and ticket path coverage for all subproject requirement manifests. All required checks have passed.
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: 5873ebcb02a5260c471175ecb8f1d5d3289efc90...368eefa58a672a00c3310cb73fffc07b042f5602
Change digest: a6a3fe41b404d62d289888e9f1f56f0c5d0a3cce3f8ac76bba017992c77a9aa6
Score: 68/100 (L), estimated 94 min, split recommended: true
Affected services/components: repository-wide/unclassified
Machine-readable radar JSONL and SVG
{"actual_change":{"additions":85,"base_sha":"5873ebcb02a5260c471175ecb8f1d5d3289efc90","binary_files":0,"categories":{"configuration":4,"docs":2,"tests":1},"change_digest":"a6a3fe41b404d62d289888e9f1f56f0c5d0a3cce3f8ac76bba017992c77a9aa6","comparison":"5873ebcb02a5260c471175ecb8f1d5d3289efc90...368eefa58a672a00c3310cb73fffc07b042f5602","deletions":10,"file_count":7,"files":["governance/manifest.json","governance/standard-adoption.json","project/TICKETS.md","project/ticket-019/intent.json","project/ticket-021/README.md","project/ticket-021/intent.json","tests/test_openwebui_configurator.py"],"head_sha":"368eefa58a672a00c3310cb73fffc07b042f5602","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":94,"within_budget":false},"impact":{"components":["GOV-TICKET-005","docs","governance","llm-agent","mcp-skills","project","tests"],"files":["GOV-TICKET-005/WORKSTREAM-003","docs/dependency-ownership.md","governance/manifest.json","governance/standard-adoption.json","llm-agent/mcp-git-proxy/mcp-skills","llm-agent/mcp-skills","llm-agent/requirements.txt","mcp-skills/requirements.txt","project/TICKETS.md","project/ticket-019/intent.json","project/ticket-021/README.md","project/ticket-021/intent.json","tests/test_openwebui_configurator.py"],"public_interfaces":[],"runtime_dependencies":1},"schema":"subactor.ticket-radar/v1","score":68,"split":{"parts":[{"estimated_minutes":12,"name":"Implement GOV-TICKET-005","scope":["GOV-TICKET-005"]},{"estimated_minutes":12,"name":"Implement docs","scope":["docs"]},{"estimated_minutes":12,"name":"Implement governance","scope":["governance"]},{"estimated_minutes":12,"name":"Implement llm-agent","scope":["llm-agent"]},{"estimated_minutes":12,"name":"Implement mcp-skills","scope":["mcp-skills"]},{"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-019"}<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-019: governance(ticket-019): llm-agent/mcp-git-proxy/mcp-skills ownership + dependency 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 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 · 94m</text></svg>DECISION D-019-7445
TICKET ticket-019
HEAD_SHA 368eefa58a672a00c3310cb73fffc07b042f5602
CORRELATION_ID mcp-019-ownership
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":38,"head_sha":"368eefa58a672a00c3310cb73fffc07b042f5602","base_sha":"5873ebcb02a5260c471175ecb8f1d5d3289efc90","diff_sha256":"e7a067d271b16506e135ab095a8675c1e9d826918f9e33102ec395c33233404b"},"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":[".governance/manifest.json",".governance/standard-adoption.json","project/TICKETS.md","project/ticket-019/intent.json","project/ticket-021/README.md","project/ticket-021/intent.json","tests/test_openwebui_configurator.py"]},"grounding":"full-diff-not-per-finding-proof","execution_authority":false,"status":"satisfied","reason":null,"review_sha256":"0b02053f36c7b4173a6ca138864e533b36df69d7c4d57c84a17f40d0322f1640","unresolved":[]}
INPUT superseded_checks = []
INPUT ticket_radar_receipt = {"schema":"subactor.ticket-radar/v1","base_sha":"5873ebcb02a5260c471175ecb8f1d5d3289efc90","head_sha":"368eefa58a672a00c3310cb73fffc07b042f5602","change_digest":"a6a3fe41b404d62d289888e9f1f56f0c5d0a3cce3f8ac76bba017992c77a9aa6","score":68,"complexity":"L","estimated_minutes":94,"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 "gemini/gemini-3.8-flash"
ASSERT VERDICT_AUTHORITY != "ADVISORY"
Dookńczenie klasy GOV-TICKET-005/WORKSTREAM-003 po #37: #33 (mcp>=2.3.0) dotyka
llm-agent/requirements.txtimcp-skills/requirements.txt, które nie miały własności.applicationownedPaths +=llm-agent/**,mcp-git-proxy/**,mcp-skills/**docs/dependency-ownership.md— mapa własności requirements (material change)GOV-PASS: diff PR + symulacja diffu Dependabota (llm-agent+mcp-skills).