chore(metadata): add public-surface desired state wave 2 - #1639
chore(metadata): add public-surface desired state wave 2#1639seonghobae wants to merge 273 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Reconciliation pass found a concrete contract drift on this Draft head: |
|
Fresh public-surface traversal found a control-plane gap that belongs in this desired-state lane (or a non-conflicting direct successor), not in a leaf one-off settings edit: the current Please extend the reviewed desired state with an optional homepage field and fail-closed validation, apply it in the same single repository PATCH as description when either drifts, and verify live homepage equality after apply. Preserve |
|
Additional public-surface evidence for the next metadata reconciliation pass: |
|
Public-surface traversal found three additional source-complete candidates for this declarative metadata lane once their repository-owned source prerequisites are integrated: |
|
Future public-surface candidate discovered during org traversal: Desired settings after a source prerequisite lands: concise product responsibility such as |
|
Additional source-complete metadata candidate discovered during this traversal: When this metadata writer next moves after the current five-prerequisite wave, add |
|
Fresh public-surface traversal identified three repositories for a later declarative metadata wave once their source prerequisites are on the protected default branch. Please do not add them to this Draft head until those prerequisites integrate, but keep them on the desired-state queue rather than solving settings ad hoc:
Live Pages/settings are still not claimed from these source PRs; completion remains protected integration + reconcile apply + REST/HTTPS verification. |
|
Two additional desired-state candidates should enter a later manifest wave only after their protected source prerequisites integrate:
Neither source PR is live Pages evidence; settings completion remains reconcile apply plus REST/HTTPS verification. |
|
Fresh metadata findings for later declarative reconciliation after protected source integration:
Do not treat either source branch as live settings completion; reconcile only after protected truth and verify the resulting REST/public surface. |
|
Fresh live-description audit found one remaining unrecorded ownership-caveat repository: After that protected prerequisite integrates, reconcile |
|
Maintained-fork public-surface wave (declarative settings after each protected DeepWiki prerequisite integrates):
For all three, provenance/fork status remains visible through GitHub's native fork relationship and architecture/docs where needed; customer-facing description/topic normalization should focus on product responsibility. Source PR presence alone is not live settings completion. |
|
Fresh public-surface traversal found three additional candidates for this existing desired-state lane; please absorb them here rather than opening a competing settings writer once their protected-branch prerequisites land:
All three are source-precondition coordination only: no live description/topic/Pages convergence is claimed until protected-default content is present and the existing reconciler can apply/re-read settings and published HTTPS content. The current PR is still Draft/conflicted, so this is intentionally coordination on the single existing owner lane rather than a duplicate metadata PR. |
|
Follow-up to the earlier public-surface coordination: |
|
Fresh source-ready candidate for this existing desired-state writer: |
|
Additional public-surface candidate for this existing desired-state writer: |
|
Current-base refresh evidence (2026-09-02): protected |
|
Traversal reconciliation note (2026-09-02): |
|
Fresh public-surface traversal added the missing source prerequisites to the existing single writer Do not add/apply this repository to the settings manifest yet: protected |
|
Fresh protected-base repair: this Draft desired-state writer is now |
Merge the exact-head Noema single-request and telemetry repair after queue admission prevented required checks from materializing.
* refactor(ci): extract shared quality-gate reusable workflow for 2 of 8 duplicated files An audit of the 8 .github/workflows/*-quality-ci.yml files that share a bootstrap-templated skeleton found only one pair -- javascript-coverage-quality-ci.yml and organization-commercial-readiness-loop-quality-ci.yml -- where the shared shape (exact-head checkout, an identical pinned six-package requirements heredoc, coverage run --branch + --fail-under=100, compileall, git diff --exit-code) was genuinely the same logic, differing only in timeout, pytest target, and coverage --include path. Extract that into a new workflow_call-only exact-head-coverage-quality-gate.yml and turn both callers into thin uses:/with: wrappers. Verified first that no branch-protection required status check or the org's required-workflow ruleset references either caller's job name, so restructuring them is safe. Updated the contract tests that pinned the old inline text and added one for the new gate's own contract and both callers' input wiring. The other 6 files each encode a genuinely different policy (harden-runner presence, a docstring gate, exact-head-verification mechanics, multi-Python-version matrices with non-shared extra logic, or no coverage --fail-under step at all) so templatizing them would weaken what they individually enforce. Left untouched. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(ci): trigger the JS coverage gate on its own new contract test javascript-coverage-quality-ci.yml's pytest_target is the whole tests directory, so it already executes tests/test_exact_head_coverage_quality_gate_contract.py -- but that file was missing from the workflow's own path trigger, so an edit scoped only to that test could merge without the gate that runs it ever firing (Devin Review finding on PR #1683). Added the file to the JS caller's path list, not the org-loop caller's: org-loop's pytest_target is a narrower glob that never matches this filename, so adding it there would trigger a job that doesn't actually exercise the test. Pinned this with a new contract test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
|
OmniRoute source-prerequisite repair advanced on the existing canonical writer |
Veilpick desired-state extension — exact head
|
Per-language codeql-scan-dispatch runs were occupying the 60-job
ceiling: 149 queued handler runs across 60 PR@SHA tuples, and
duplicate cancel could not collapse them because the language is
absent from the run name, job name, and REST payload.
analyze-head shards still publish the required check name and still
fail pending to release the runner, but they no longer POST.
dispatch-current-head collects this run's language job ids and sends
one codeql-scan payload (matrix + required_jobs). The handler
concurrency group is {workflow}-{repository}-{PR}; language
independence is fail-fast: false on that run's job matrix.
ADR-0025's 2026-09-05 rejection of a full-matrix dispatch is
superseded. The sibling-cancel failure from
contextual-orchestrator#1049 / run 33938784437 is gone because
siblings are jobs in one run.
#2008 made required_jobs mandatory on the default-branch handler. repository_dispatch runs that file, so payloads that lined up before the merge still carry required_language + required_job_id and a one-shard matrix. Validate now synthesizes required_jobs from those scalars when the array is empty, the matrix length is 1, and the language matches. A present required_jobs array still wins; missing or mismatched identity still fails closed. Concurrency stays {workflow}-{repository}-{PR} with no language suffix. Developer experience: queued single-language dispatches validate instead of all failing closed after the cutover. User experience: required CodeQL compatibility checks for those in-flight PRs can still complete.
|
Fresh live public-surface audit — 2026-09-08
Exact PR head remains |
* fix(codeql): keep a clean dispatch scan when status publish 403s opencode-agent is installed with statuses:read, so POST /statuses to a target repo returns HTTP 403 after the SARIF gate already passed. Treat the completed dispatch scan job as terminal evidence and let the required shard consume that public run on rerun instead of fail-closing a clean scan. * fix(codeql): dispatch remaining languages on workflow reruns Attempt 2 of .github#2028 skipped Dispatch current-head because the coordinator required github.run_attempt == 1, so no codeql-scan was posted. Later attempts still skip when every language already has a terminal opencode-agent verdict. * test(codeql): require paginated dispatch evidence lookup * test(codeql): require paginated dispatch job lookup * fix(codeql): paginate exact dispatch evidence * test(codeql): parse paginated gh endpoint options * style(codeql): normalize pagination fixture spacing * test(codeql): match paginated empty dispatch fixtures Signed-off-by: Seongho Bae <me@seonghobae.me> * fix(codeql): bind dispatch fallback to live base and required run The completed-scan fallback matched only repo#PR@head plus language, so a same-head retarget could consume a predecessor-base scan and a different waiting required run could satisfy this shard. Encode live base SHA and required_run_id in the public dispatch run-name, look up that identity from the required shard, and POST the live base on later attempts. Concurrency stays repository+PR per #2008/#2009. --------- Signed-off-by: Seongho Bae <me@seonghobae.me>
2026-09-08 metadata inventory extensionAdded
|
|
Metadata/public-surface repair update (fresh live evidence, 2026-09-08):
Current #1639 exact head is Omitted homepage stays unmanaged; explicit |
|
Exact-head RCA and repair (2026-09-08):
PR remains Draft. No lifecycle/base/status-label mutation, bypass, or source-neutral rerun was used. |
|
RankWeave source-prerequisite handoff (2026-09-08)
This is source evidence on an open canonical PR, not protected-branch publication. Keep RankWeave source prerequisite unfulfilled in the metadata manifest until ordinary merge puts both assets on protected |
|
Fresh repository-facing readback — 2026-09-08
No live settings/Pages mutation or publication is claimed. |
|
Fresh live public-surface audit (2026-09-08 UTC) against all 77 accessible repositories found 57 active public non-forks. Exact protected-branch prerequisites (one exact-cased DeepWiki badge plus
A next non-overlapping prerequisite lane is
Open PR/issue live searches for missing semantic aliases and missing priority labels all returned zero in this pass. Draft/Ready, |
|
Central-owner RCA and repair are now in The Security Scan failure on this PR was not introduced by its effective metadata delta. Run
The two Gitleaks results were test fixtures already on current Exact-content validation for #2041: stale-base RED #2041 is Ready for review admission, but hosted checks and independent approval are still pending, so neither PR has merge authority from this evidence. Keep #1639 alive; after #2041 merges to protected |
|
Fresh repository-facing reconciliation on 2026-09-08 UTC against live GitHub repository objects:
Protected Classification readback is still converged: open PR/issue semantic-alias missing = 0 and priority missing = 0. No Draft/Ready, |
Owner-stack repair status for this metadata writer
Do not rerun or merge this metadata writer on predecessor evidence. Wait for both owner exact-head generations to become terminal, land the canonical CodeQL settlement stack first, then land the Gitleaks child and rerun this PR against protected |
|
Fresh public-surface readback across the current 64 active non-fork repositories returned by organization search:
Direct HTTP publication could not be independently proven from the available public lookup path, so this is repository-setting evidence only. Preserve the existing source-prerequisite and security stack; do not claim Pages publication until the deployed URL returns current content. No manifest/source mutation was made while #1639 and its #2040→#2041 prerequisites are active. |
|
Fresh current-head handoff after concurrent integration (2026-09-08):
Label searches remain converged: open PR/Issue semantic alias missing 0, priority missing 0, and |
Outcome
Extend the organization-owned declarative repository metadata catalog for public repositories whose repository-facing source work is already active, rather than leaving descriptions, topics, DeepWiki intent, homepage intent, and Pages intent as one-off observations.
config/repository-metadata.jsonremains the desired-state authority for the exact repository set and preserves exact repository-name casing. The companion tests keep description constraints, topic normalization, DeepWiki URL formation, homepage safety, Pages intent, and protected-source prerequisites fail closed.Coordination / prerequisites
This PR intentionally does not duplicate repository-owned README or Pages-source writers. The manifest currently contains 31 exact-cased repositories. Fresh protected-default-branch inspection found both the exact DeepWiki badge and
docs/index.mdfor only five:ThreadWeave,EgressWeave,psychometrics-commons,noema, andVeilpick. The other 26 remain source-incomplete on their protected branches.RankWeave#40 carries both prerequisites on exact head
5f9c04bc7249395f9b7c15714cb2cfdfd917f509. pingora-gateway#1 likewise carries the exact DeepWiki badge anddocs/index.mdon0da81a93f93e869c15bb7d34c55fc87479d16522; its desired state replaces the repository's eventual public “scaffold only” classification with the implemented candidate product boundary. Both are open-PR evidence and do not become protected-source prerequisites until ordinary merge. A desired-state declaration must not cause Pages to target source that has not integrated.j-plannerremains deliberately excluded from central legacy-docsPages mutation because its working live site is rooted on thegh-pagesbranch; reconfiguring a verified working site without first extending the reconciler's source-path model would be destructive.Control-plane boundary
Protected
.github/maincontains the least-privilegeCWL_REPOSITORY_METADATA_TOKENwiring from #1625. Live description/topic/homepage/Pages mutations remain blocked by external protected-environment/GitHub App provisioning tracked in #1579. This PR does not claim live convergence; after source prerequisites and credential provisioning, the existing reconcile workflow must apply and re-read exact repository settings plus published HTTPS Pages content before completion.Current protected-base reconciliation — 2026-09-08
Protected
mainis exact7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db. The branch had diverged at 22 ahead / 248 behind. GitHub generated conflict-free synthetic merge37135edc61c6fab8909dc40c417342822a6c04c3with parents protectedmain@7fd571db…and prior branch headc74d840f…; the writer branch was advanced to it with a non-force fast-forward.The branch remains a non-force descendant of that reconciliation, and the effective protected-base delta remains limited to
config/repository-metadata.json,scripts/ci/reconcile_repository_metadata.py, andtests/test_repository_metadata_reconciliation.py. Test-only9f636ecc4c321d453d729d753bd64ddd70bad231first required the exactpingora-gatewayinventory entry;6a8e8b2c279779ec7516a67ee96a02c7b9048468then adds its reviewed desired state. GitHub reports this Draft mechanically mergeable againstmain; mechanical mergeability is not merge authorization. No force-push, destructive rebase, unrelated protected-main rollback, or target-repository lifecycle mutation was used.Exact-head status
Current exact head is
6a8e8b2c279779ec7516a67ee96a02c7b9048468. Fresh same-head Repository Metadata Reconcile34195535498, CodeQL PR34195535453, Security Scan34195535497, SAST Semgrep34195535430, and Python Security34195535547are queued. These current-head states supersede all predecessor run IDs.Keep this PR Draft because protected-source prerequisites and the external settings credential path are materially incomplete. Queued checks or absent independent approval alone are not the Draft rationale; they separately withhold merge authority. No branch protection, required check, review requirement, credential, secret, release, target-repository lifecycle, or target-repository source file is changed here. A manifest/workflow commit is not live metadata or Pages publication evidence.