Repository navigation
fix(org-sync): enroll nlp2cmd in central metadata synchronization - #6
Conversation
There was a problem hiding this comment.
Validator approval after policy checks for exact head 89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735.
Ticket: ticket-005
Correlation ID: local-semcod-.github-pr-6-ticket-005
Model: openai/cursor-auto
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). The bounded change enrolls exactly autogrammar/nlp2cmd, preserves the full owner/repository identity, adds coverage for scheduled, dispatch, and manual routing in both dry-run and apply modes, and documents the expanded five-repository scope. The protected required check test passed.
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: 135a1e5faf567678c80d9ad8cfce0dc18646b277...89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735
Change digest: 055929112ea3e5663eb75fe4dd4ee3818d8c0a1699cd0e7c84e91eb88a30e587
Score: 64/100 (L), estimated 70 min, split recommended: true
Affected services/components: repository-wide/unclassified
Machine-readable radar JSONL and SVG
{"actual_change":{"additions":69,"base_sha":"135a1e5faf567678c80d9ad8cfce0dc18646b277","binary_files":0,"categories":{"configuration":2,"docs":2,"tests":1},"change_digest":"055929112ea3e5663eb75fe4dd4ee3818d8c0a1699cd0e7c84e91eb88a30e587","comparison":"135a1e5faf567678c80d9ad8cfce0dc18646b277...89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735","deletions":6,"file_count":5,"files":["docs/information/org-metadata-sync.md","org-sync/managed-repositories.json","org-sync/tests/test_routing.py","project/ticket-005/README.md","project/ticket-005/intent.json"],"head_sha":"89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735","service_count":0,"services":[]},"assessment_mode":"observed-pr","axes":{"coupling":5,"delivery":3,"scope":4,"uncertainty":3,"validation":1},"complexity":"L","confidence":0.9,"diagnostics":["RADAR-ACCEPTANCE-MISSING","RADAR-BUDGET-EXCEEDED"],"estimate":{"budget_minutes":30,"minutes":70,"within_budget":false},"impact":{"components":["autogrammar","docs","metadata-only","org-sync","owner","project"],"files":["autogrammar/nlp2cmd","docs/information/org-metadata-sync.md","metadata-only/skip-profile","org-sync/managed-repositories.json","org-sync/tests","org-sync/tests/test_routing.py","owner/repository","project/ticket-005/README.md","project/ticket-005/intent.json"],"public_interfaces":[],"runtime_dependencies":0},"schema":"subactor.ticket-radar/v1","score":64,"split":{"parts":[{"estimated_minutes":10,"name":"Implement autogrammar","scope":["autogrammar"]},{"estimated_minutes":10,"name":"Implement docs","scope":["docs"]},{"estimated_minutes":10,"name":"Implement metadata-only","scope":["metadata-only"]},{"estimated_minutes":10,"name":"Implement org-sync","scope":["org-sync"]},{"estimated_minutes":10,"name":"Implement owner","scope":["owner"]},{"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-005"}<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>ticket-005: fix(org-sync): enroll nlp2cmd in central metadata synchronization</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,30 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 · 70m</text></svg>DECISION D-005-0940
TICKET ticket-005
HEAD_SHA 89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735
CORRELATION_ID local-semcod-.github-pr-6-ticket-005
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["test=PASS"]
INPUT required_checks = ["test"]
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/.github","pull_request":6,"head_sha":"89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735","base_sha":"135a1e5faf567678c80d9ad8cfce0dc18646b277","diff_sha256":"5f58457f199d0c53aa4bc0c0ff2f56bcb05cc5ab90710eb0e65753b69edb2e3d"},"policy":{"policy_schema":"subactor.validator/semantic-review-policy/v1","policy_version":1,"policy_sha256":"676cb4516bbfed2a000e40b9b1b6e4a430ecc761ec546aeb53d721a1905cfdd7","required":false,"critical_paths":[],"observed_paths":["docs/information/org-metadata-sync.md","org-sync/managed-repositories.json","org-sync/tests/test_routing.py","project/ticket-005/README.md","project/ticket-005/intent.json"]},"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":"135a1e5faf567678c80d9ad8cfce0dc18646b277","head_sha":"89e5b8b2e2fa05d29aba0a2fa0e93e0ca2110735","change_digest":"055929112ea3e5663eb75fe4dd4ee3818d8c0a1699cd0e7c84e91eb88a30e587","score":64,"complexity":"L","estimated_minutes":70,"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"
autogrammar/nlp2cmdstill runs a consumer dispatch without ORG_SYNC_PAT and is absent from the central allowlist. Admit exactly that repository to the existing coordinator so its description and topics can be synchronized using central credentials.Add routing coverage for scheduled, manual and dispatch events, preserving the full owner/repository identity and metadata-only/skip-profile execution. Update the canonical operator document to five managed targets. Homepage, Pages and profile behavior remain covered by the existing suite.
Validation:
PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s org-sync/tests -v— 20 passed;git diff --checkpassed.Ticket: ticket-005, allocated by #5. Consumer trigger retirement is a separate nlp2cmd change after successful central target-only dry-run, apply and API readback. Publication requires the deployed independent Validator and exact-head
testgate.