Skip to content

docs: add cross-repo dependency graph from the repo audit - #1689

Open
seonghobae wants to merge 4 commits into
mainfrom
claude/repo-dependency-graph
Open

docs: add cross-repo dependency graph from the repo audit#1689
seonghobae wants to merge 4 commits into
mainfrom
claude/repo-dependency-graph

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

New file: docs/repo-dependency-graph.md. Does not touch profile/README.md — kept deliberately separate from #1679/#1687.

Built from the per-repo Topics/Description audit run earlier in this session (a workflow that read each of the 73 active repos' own README, manifest, and file tree directly via gh api) plus the existing "Inter-component architecture" brief in CWL-MASTER-CONTEXT.md.

The graph distinguishes two confidence tiers, drawn as different arrow styles:

  • Solid — the dependent repo's own README/manifest directly names the target repo (e.g. keyverse's README lists its OIDC relying parties; Orgmetra's repo tree has literal keyverse-adapter/naruon-adapter packages; LineageWeave's pyproject.toml pins ThreadWeave/RankWeave).
  • Dashed — documented in CWL-MASTER-CONTEXT.md's architecture brief, but this session's audit did not find independent confirmation in the dependent repo's own current README (e.g. several "naruon plugin" and "contextual-orchestrator calibrates/routes" claims). This isn't a claim they're wrong — early-stage repos often haven't caught up to the architecture doc yet — but it's useful to know which relationships rest on the architecture brief alone versus on the repo's own documentation.

Also includes an evidence table for every edge, and a grouped list of the ~46 repos with no known cross-repo dependency (standalone products, forks, private employer-scoped assets, bare scaffolds).

Test plan

  • Verified the Mermaid code block has balanced quotes/brackets (144 quote chars, even)
  • Grepped tests/ for anything enumerating docs/ or asserting file lists — none found that would be affected by adding a new file
  • Cross-checked every edge against this session's audit transcript (README/manifest citations in the evidence tables)
  • Visual render check of the Mermaid diagram on GitHub after push

🤖 Generated with Claude Code


Devin Review

Summary by CodeRabbit

  • 문서
    • 조직 내 73개 활성 저장소의 상호 의존 관계를 정리한 의존성 그래프 문서를 추가했습니다.
    • 확인된 관계와 기존 자료에만 기록된 관계를 구분해 제공하며, 저장소별 의존성 및 알려진 외부 의존성이 없는 저장소를 표로 정리했습니다.
    • 그래프 해석을 위한 범례와 감사 범위 및 근거에 대한 주의사항을 포함했습니다.

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Review Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 8a74be2a-4c6d-46c9-a998-c2bf8050c993

📝 Walkthrough

Walkthrough

새 문서는 73개 활성 저장소의 교차 저장소 의존성 그래프를 정의합니다. 자체 README·매니페스트에서 확인한 관계와 아키텍처 문서에만 기록된 관계를 구분하고, 관계 표와 감사 한계를 추가합니다.

Changes

저장소 의존성 그래프

Layer / File(s) Summary
감사 기준과 그래프 정의
docs/repo-dependency-graph.md
감사 근거, 화살표 방향, 확인 상태, 비공개 저장소 표기를 정의합니다. 저장소를 영역별로 그룹화한 Mermaid 그래프를 추가합니다.
의존성 관계 목록
docs/repo-dependency-graph.md
확인된 20개 관계와 아키텍처 문서에 기록되었지만 재검증되지 않은 19개 관계를 표로 기록합니다.
예외 및 감사 한계
docs/repo-dependency-graph.md
bandscope의 제외 사유를 기록합니다. 교차 저장소 의존성이 없는 저장소와 감사 방법의 한계를 설명합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: 🟡 Moderate · up to b6ee2

This documentation-only PR adds a dependency graph, but the current document labels several relationships inconsistently and cites the wrong side of some dependencies, which could mislead architectural or maintenance decisions; it also lists one repository twice, making the count ambiguous. Merge should wait for these bounded documentation corrections or explicit owner acceptance.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 새로 추가한 교차 저장소 의존성 그래프 문서와 저장소 감사 결과를 정확히 요약합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/repo-dependency-graph

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae seonghobae added documentation Improvements or additions to documentation priority: medium Normal-priority or P2 work status: needs-review Open pull request requiring current-head review or checks type: docs Documentation, ADR, PRD, or technical writing labels Sep 2, 2026 — with ChatGPT Codex Connector
coderabbitai[bot]

This comment was marked as resolved.

seonghobae added a commit that referenced this pull request Sep 2, 2026
Companion to docs/repo-dependency-graph.md: a self-contained page
(loads mermaid.js from cdnjs) rendering the same dependency diagram
plus a snapshot of the three PRs this session's audit produced
(#1679 closed, #1687 narrowed to the vooster-v2-mvp fix, #1689 this
one, untouched). Point-in-time snapshot, timestamped, not live data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

seonghobae added a commit that referenced this pull request Sep 2, 2026
… own README, fix pin descriptions

Addresses review comments on PR #1689 (Devin + CodeRabbit):

- Five "OIDC relying party" edges (naruon, pg-erd-cloud,
  semantic-data-portal, clearfolio, newsdom-api -> keyverse) were solid
  arrows sourced only from keyverse's own README claiming them as
  relying parties -- none of those five repos' own READMEs mention
  keyverse at all. Downgraded to dashed and moved to the
  "documented, not independently re-verified" table, consistent with
  the legend's own definition of what "solid" requires. Kept
  saju-caldav and contextual-orchestrator solid -- both independently
  confirmed in their own README.
- Three edges (four-pillars/pg-llm-batch/RankWeave) were drawn dashed
  despite being listed as confirmed in the table -- fixed to solid,
  matching the legend.
- LineageWeave's dependency on ThreadWeave and RankWeave was described
  identically as "real git-pinned" for both; re-checked
  pyproject.toml directly -- ThreadWeave is a PyPI version-range pin
  (threadweave>=0.1.0), only RankWeave is actually git-commit-pinned.
  Corrected both the diagram labels and the table.
- Re-read LineageWeave's README section "How it fits with the rest of
  the ecosystem" and found three real, previously-missing edges: TEPP
  (consumed via its own wire contract, tepp_client.py), an optional
  LLM-adjudication call to contextual-orchestrator, and an optional
  git-pinned fast-mlsirm backend dependency for IRT calibration. Added
  all three with their own evidence.
- nonnest2 was listed in both "Psychometrics & research" and "Forks"
  under the no-known-dependency section; kept it only under Forks
  (its more defining categorical fact) and noted why.
- Standalone HTML page was missing </head> and <body> tags entirely
  (browsers silently recover; validators/tooling would not) -- added
  both, and regenerated the embedded diagram/PR-status panel to match
  the corrected .md content and current PR state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
devin-ai-integration[bot]

This comment was marked as resolved.

Comment thread docs/repo-dependency-graph.html Fixed

@cwl-noema-review cwl-noema-review 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.

Noema LLM review

The PR adds two documentation files describing cross-repo dependencies. The markdown file is well-structured and addresses prior review feedback. However, the HTML file has a confirmed security issue: the mermaid script is loaded from a CDN without a Subresource Integrity (SRI) attribute, allowing a compromised CDN to execute arbitrary JavaScript in the page's origin. This is a blocking security concern. Additionally, the HTML introduction states 'three PRs' while the panel lists four, an inconsistency that should be corrected.

Reviewed changed lines

  • docs/repo-dependency-graph.html:245 (RIGHT): The mermaid script is loaded from cdnjs without an integrity attribute. This is a confirmed security finding (Semgrep html.security.audit.missing-integrity.missing-integrity). A compromised CDN response could execute arbitrary JavaScript in the page's origin.
  • docs/repo-dependency-graph.html:92 (RIGHT): The introduction text says 'three PRs' but the panel below lists four PR cards (#1687, #1689, #1692, #1729). This inconsistency makes the scope of the session snapshot unclear.
  • docs/repo-dependency-graph.md:156 (RIGHT): Three solid edges (naruon→ThreadWeave, naruon→CalendarWeave, LineageWeave→CalendarWeave) cite only the dependency's README (ThreadWeave README, CalendarWeave README) rather than the dependent repo's own README/manifest, which the legend requires for solid arrows. This is an open review thread that remains unaddressed.

Adversarial validation

  • docs/repo-dependency-graph.html:245 (RIGHT) confirmed: The mermaid script tag lacks an SRI integrity attribute, allowing a compromised CDN to execute arbitrary JavaScript. — Line 245: <script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.9.1/mermaid.min.js"></script> — no integrity attribute present. Semgrep finding html.security.audit.missing-integrity.missing-integrity confirms this.
  • docs/repo-dependency-graph.html:92 (RIGHT) confirmed: The introduction's 'three PRs' claim matches the number of PR cards in the panel. — Line 92: 'alongside the current state of the three PRs that came out of that work.' Lines 190-220 contain four pr-card divs.
  • docs/repo-dependency-graph.md:156 (RIGHT) confirmed: All solid edges in the confirmed table cite evidence from the dependent repo's own README/manifest, as required by the legend. — Lines 154-156: '| naruon | ThreadWeave | ... | ThreadWeave README ("importable standalone by naruon or any other host") |', '| naruon | CalendarWeave | consumes fail-closed | CalendarWeave README |', '| LineageWeave | CalendarWeave | consumes fail-closed | CalendarWeave README |'. The legend at lines 17-19 requires 'the dependent repo's own README, manifest, or file tree names the target repo directly.'
  • Residual risk: The HTML file executes third-party JavaScript without integrity verification, creating a supply-chain attack vector. The markdown file has evidence-tier inconsistencies that undermine the document's stated methodology.

Findings

  • [high] docs/repo-dependency-graph.html:245 (RIGHT): Missing Subresource Integrity (SRI) attribute on the mermaid CDN script. A compromised CDN response can execute arbitrary JavaScript in the page's origin. Add an integrity attribute with the correct hash for mermaid 10.9.1.
  • [medium] docs/repo-dependency-graph.html:92 (RIGHT): Inconsistent PR count: the introduction says 'three PRs' but the panel lists four (#1687, #1689, #1692, #1729). Update the text to 'four PRs' or clarify which three are in scope.
  • [medium] docs/repo-dependency-graph.md:156 (RIGHT): Three solid edges (naruon→ThreadWeave, naruon→CalendarWeave, LineageWeave→CalendarWeave) cite only the dependency's README, not the dependent repo's own README/manifest as the legend requires. Either reclassify these edges as dashed or provide dependent-side evidence.
  • Result: REQUEST_CHANGES
  • Head SHA: 2dce37bb29e93cb1938bef71d3540f72683b6f5f
  • Reviewer credential: noema-review-github-app-refresh
  • Actor: cwl-noema-review[bot]

opencode-agent Bot pushed a commit that referenced this pull request Sep 4, 2026
Companion to docs/repo-dependency-graph.md: a self-contained page
(loads mermaid.js from cdnjs) rendering the same dependency diagram
plus a snapshot of the three PRs this session's audit produced
(#1679 closed, #1687 narrowed to the vooster-v2-mvp fix, #1689 this
one, untouched). Point-in-time snapshot, timestamped, not live data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
opencode-agent Bot pushed a commit that referenced this pull request Sep 4, 2026
… own README, fix pin descriptions

Addresses review comments on PR #1689 (Devin + CodeRabbit):

- Five "OIDC relying party" edges (naruon, pg-erd-cloud,
  semantic-data-portal, clearfolio, newsdom-api -> keyverse) were solid
  arrows sourced only from keyverse's own README claiming them as
  relying parties -- none of those five repos' own READMEs mention
  keyverse at all. Downgraded to dashed and moved to the
  "documented, not independently re-verified" table, consistent with
  the legend's own definition of what "solid" requires. Kept
  saju-caldav and contextual-orchestrator solid -- both independently
  confirmed in their own README.
- Three edges (four-pillars/pg-llm-batch/RankWeave) were drawn dashed
  despite being listed as confirmed in the table -- fixed to solid,
  matching the legend.
- LineageWeave's dependency on ThreadWeave and RankWeave was described
  identically as "real git-pinned" for both; re-checked
  pyproject.toml directly -- ThreadWeave is a PyPI version-range pin
  (threadweave>=0.1.0), only RankWeave is actually git-commit-pinned.
  Corrected both the diagram labels and the table.
- Re-read LineageWeave's README section "How it fits with the rest of
  the ecosystem" and found three real, previously-missing edges: TEPP
  (consumed via its own wire contract, tepp_client.py), an optional
  LLM-adjudication call to contextual-orchestrator, and an optional
  git-pinned fast-mlsirm backend dependency for IRT calibration. Added
  all three with their own evidence.
- nonnest2 was listed in both "Psychometrics & research" and "Forks"
  under the no-known-dependency section; kept it only under Forks
  (its more defining categorical fact) and noted why.
- Standalone HTML page was missing </head> and <body> tags entirely
  (browsers silently recover; validators/tooling would not) -- added
  both, and regenerated the embedded diagram/PR-status panel to match
  the corrected .md content and current PR state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@opencode-agent
opencode-agent Bot force-pushed the claude/repo-dependency-graph branch from 1d6f962 to 702e3d9 Compare September 4, 2026 20:47
opencode-agent Bot pushed a commit that referenced this pull request Sep 5, 2026
Companion to docs/repo-dependency-graph.md: a self-contained page
(loads mermaid.js from cdnjs) rendering the same dependency diagram
plus a snapshot of the three PRs this session's audit produced
(#1679 closed, #1687 narrowed to the vooster-v2-mvp fix, #1689 this
one, untouched). Point-in-time snapshot, timestamped, not live data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
opencode-agent Bot pushed a commit that referenced this pull request Sep 5, 2026
… own README, fix pin descriptions

Addresses review comments on PR #1689 (Devin + CodeRabbit):

- Five "OIDC relying party" edges (naruon, pg-erd-cloud,
  semantic-data-portal, clearfolio, newsdom-api -> keyverse) were solid
  arrows sourced only from keyverse's own README claiming them as
  relying parties -- none of those five repos' own READMEs mention
  keyverse at all. Downgraded to dashed and moved to the
  "documented, not independently re-verified" table, consistent with
  the legend's own definition of what "solid" requires. Kept
  saju-caldav and contextual-orchestrator solid -- both independently
  confirmed in their own README.
- Three edges (four-pillars/pg-llm-batch/RankWeave) were drawn dashed
  despite being listed as confirmed in the table -- fixed to solid,
  matching the legend.
- LineageWeave's dependency on ThreadWeave and RankWeave was described
  identically as "real git-pinned" for both; re-checked
  pyproject.toml directly -- ThreadWeave is a PyPI version-range pin
  (threadweave>=0.1.0), only RankWeave is actually git-commit-pinned.
  Corrected both the diagram labels and the table.
- Re-read LineageWeave's README section "How it fits with the rest of
  the ecosystem" and found three real, previously-missing edges: TEPP
  (consumed via its own wire contract, tepp_client.py), an optional
  LLM-adjudication call to contextual-orchestrator, and an optional
  git-pinned fast-mlsirm backend dependency for IRT calibration. Added
  all three with their own evidence.
- nonnest2 was listed in both "Psychometrics & research" and "Forks"
  under the no-known-dependency section; kept it only under Forks
  (its more defining categorical fact) and noted why.
- Standalone HTML page was missing </head> and <body> tags entirely
  (browsers silently recover; validators/tooling would not) -- added
  both, and regenerated the embedded diagram/PR-status panel to match
  the corrected .md content and current PR state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@opencode-agent
opencode-agent Bot force-pushed the claude/repo-dependency-graph branch from a5f7dab to 70ef0f1 Compare September 5, 2026 09:05
@seonghobae

Copy link
Copy Markdown
Contributor Author

The two failing CodeQL compatibility analysis shards are not a defect in this branch. Their log ends with DISPATCH_OUTCOME: success / VERDICT_STATE: pending and the designed message "CodeQL scan dispatched. The dispatch workflow will rerun this exact failed CodeQL job after publishing its terminal verdict." — the shard fails on purpose and waits for codeql-scan-dispatch.yml to re-run it. That workflow currently has 101 runs queued and 0 completed since #1926 landed (13:57Z), and when a run does execute it is rejected at the repository_dispatch actor gate until the OPENCODE_REPOSITORY_DISPATCH_ACTOR variable is updated (#1929). No commit here changes that; not pushing. Tracked in #1926 / #1929 / #1935.

@seonghobae

Copy link
Copy Markdown
Contributor Author

noema-review failure at 16:20:54Z classified: not the gateway 502 class and not a finding on this branch. The gateway answered in 529.5 s (served_model=deepseek-ai/deepseek-v4-pro-0813) and the caller's own validator rejected the verdict — Noema approve cannot contain a confirmed adversarial probe (scripts/ci/noema_review_gate.py:677-678: an approve decision alongside a probe with outcome: confirmed is contradictory by contract). The job log does not print the verdict body, so the probe itself is not visible; the decision is the inconsistent part. Across the last 15 failed noema-review runs on this repository this class appears once (12× HTTP 502, 1× 503, 1× 429). The caller makes one attempt and does not retry on a model-output failure (the retry loop in #1606 is the open change for that), so the standing remedy is a re-run of the failed job — triggered now (run 33966978878, second attempt). Nothing to change in the diff.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Correction to my comment above: "101 runs queued and 0 completed since #1926" was a page artifact (the 100 most recent codeql-scan-dispatch runs by creation were all queued, so no completed run could appear on that page). The server-side count since #1926 landed is 71 completed, 71 failures, 0 successes (55 failures, 0 successes in the hour before it). Every one fails at the validate-dispatch job's "Bind workflow inputs to live organization pull request" step with repository_dispatch authorization rejected actor=opencode-agent[bot] … must match one configured scheduler identity, and the CodeQL dispatch scan matrix job — the one carrying #1926's fix — is skipped. So the shard re-run this PR is waiting for cannot happen until the OPENCODE_REPOSITORY_DISPATCH_ACTOR variable admits opencode-agent[bot] (#1929). The noema-review re-run (attempt 2) is unaffected by this and still queued.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Merged main@f2f91b80 into this head as 0697e136 (parents 070737bf + f2f91b80), no conflicts and no change to this PR's own content — so its next noema-review/strix runs are created after .github#1939 and execute the round-robin sidecar instead of the NVIDIA-only one behind the earlier 502 / provider-unavailable failures (a re-run would have kept the old workflow_sha). Verified before pushing: the merged tree is byte-identical to one an independent gate run passed (2896 passed / 1 skipped, coverage 100%, interrogate 100%) and contains no conflict markers. opencode-review and the CodeQL shards remain gated by .github#1929 and will not turn green from this.

opencode-agent Bot pushed a commit that referenced this pull request Sep 6, 2026
Companion to docs/repo-dependency-graph.md: a self-contained page
(loads mermaid.js from cdnjs) rendering the same dependency diagram
plus a snapshot of the three PRs this session's audit produced
(#1679 closed, #1687 narrowed to the vooster-v2-mvp fix, #1689 this
one, untouched). Point-in-time snapshot, timestamped, not live data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
opencode-agent Bot pushed a commit that referenced this pull request Sep 6, 2026
… own README, fix pin descriptions

Addresses review comments on PR #1689 (Devin + CodeRabbit):

- Five "OIDC relying party" edges (naruon, pg-erd-cloud,
  semantic-data-portal, clearfolio, newsdom-api -> keyverse) were solid
  arrows sourced only from keyverse's own README claiming them as
  relying parties -- none of those five repos' own READMEs mention
  keyverse at all. Downgraded to dashed and moved to the
  "documented, not independently re-verified" table, consistent with
  the legend's own definition of what "solid" requires. Kept
  saju-caldav and contextual-orchestrator solid -- both independently
  confirmed in their own README.
- Three edges (four-pillars/pg-llm-batch/RankWeave) were drawn dashed
  despite being listed as confirmed in the table -- fixed to solid,
  matching the legend.
- LineageWeave's dependency on ThreadWeave and RankWeave was described
  identically as "real git-pinned" for both; re-checked
  pyproject.toml directly -- ThreadWeave is a PyPI version-range pin
  (threadweave>=0.1.0), only RankWeave is actually git-commit-pinned.
  Corrected both the diagram labels and the table.
- Re-read LineageWeave's README section "How it fits with the rest of
  the ecosystem" and found three real, previously-missing edges: TEPP
  (consumed via its own wire contract, tepp_client.py), an optional
  LLM-adjudication call to contextual-orchestrator, and an optional
  git-pinned fast-mlsirm backend dependency for IRT calibration. Added
  all three with their own evidence.
- nonnest2 was listed in both "Psychometrics & research" and "Forks"
  under the no-known-dependency section; kept it only under Forks
  (its more defining categorical fact) and noted why.
- Standalone HTML page was missing </head> and <body> tags entirely
  (browsers silently recover; validators/tooling would not) -- added
  both, and regenerated the embedded diagram/PR-status panel to match
  the corrected .md content and current PR state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@opencode-agent
opencode-agent Bot force-pushed the claude/repo-dependency-graph branch from 0697e13 to 8bf03c0 Compare September 6, 2026 05:21

@opencode-agent opencode-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.

Pull request overview

OpenCode could not approve from deterministic current-head evidence because GitHub Checks have failed.

Findings

1. HIGH Current-head GitHub Checks - Fix failed required checks before approval

  • Problem: Failed same-head checks remain for 8bf03c0e5be5305479866811eca451f3dd6e5318.
  • Root cause: The model-unavailable evidence fallback is allowed only when peer GitHub Checks are complete and clean.
  • Fix: Read and fix the failed check logs below, then rerun the current-head checks.
  • Regression test: Keep the model-unavailable fallback gated on an empty failed-check rollup.

Failed checks:

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Docs: repo-dependency-graph.html (2 files)"]
  S1 --> I1["operator or user guidance"]
  I1 --> R1["Review risk: Docs: repo-dependency-graph.html (2 files)"]
  R1 --> V1["docs review"]
Loading

@opencode-agent

opencode-agent Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

seonghobae and others added 4 commits September 6, 2026 11:34
New file, not touching profile/README.md. Built from the per-repo
Topics/Description audit run earlier in this session (each repo's own
README/manifest/file tree, read directly via gh api) plus the existing
architecture brief in CWL-MASTER-CONTEXT.md.

Distinguishes dependencies confirmed by a dependent repo's own current
README/manifest (solid arrows) from relationships CWL-MASTER-CONTEXT.md
documents but this session's audit couldn't independently corroborate
in the dependent repo's own docs (dashed arrows) — several
"naruon plugin" and "contextual-orchestrator calibrates/routes" claims
fall in the latter category, which is worth knowing before relying on
them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Companion to docs/repo-dependency-graph.md: a self-contained page
(loads mermaid.js from cdnjs) rendering the same dependency diagram
plus a snapshot of the three PRs this session's audit produced
(#1679 closed, #1687 narrowed to the vooster-v2-mvp fix, #1689 this
one, untouched). Point-in-time snapshot, timestamped, not live data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… own README, fix pin descriptions

Addresses review comments on PR #1689 (Devin + CodeRabbit):

- Five "OIDC relying party" edges (naruon, pg-erd-cloud,
  semantic-data-portal, clearfolio, newsdom-api -> keyverse) were solid
  arrows sourced only from keyverse's own README claiming them as
  relying parties -- none of those five repos' own READMEs mention
  keyverse at all. Downgraded to dashed and moved to the
  "documented, not independently re-verified" table, consistent with
  the legend's own definition of what "solid" requires. Kept
  saju-caldav and contextual-orchestrator solid -- both independently
  confirmed in their own README.
- Three edges (four-pillars/pg-llm-batch/RankWeave) were drawn dashed
  despite being listed as confirmed in the table -- fixed to solid,
  matching the legend.
- LineageWeave's dependency on ThreadWeave and RankWeave was described
  identically as "real git-pinned" for both; re-checked
  pyproject.toml directly -- ThreadWeave is a PyPI version-range pin
  (threadweave>=0.1.0), only RankWeave is actually git-commit-pinned.
  Corrected both the diagram labels and the table.
- Re-read LineageWeave's README section "How it fits with the rest of
  the ecosystem" and found three real, previously-missing edges: TEPP
  (consumed via its own wire contract, tepp_client.py), an optional
  LLM-adjudication call to contextual-orchestrator, and an optional
  git-pinned fast-mlsirm backend dependency for IRT calibration. Added
  all three with their own evidence.
- nonnest2 was listed in both "Psychometrics & research" and "Forks"
  under the no-known-dependency section; kept it only under Forks
  (its more defining categorical fact) and noted why.
- Standalone HTML page was missing </head> and <body> tags entirely
  (browsers silently recover; validators/tooling would not) -- added
  both, and regenerated the embedded diagram/PR-status panel to match
  the corrected .md content and current PR state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ence edges

Fixes the failing "Semgrep (multi-language SAST)" required check
(html.security.audit.missing-integrity): the mermaid CDN script tag had no
subresource-integrity attribute, so a compromised cdnjs response could execute
arbitrary JS in the page's origin. The sha384 was computed from the exact
pinned file (mermaid 10.9.1) and cross-checked against cdnjs's own published
sha512 for the same bytes; a browser load confirms the script still executes
and the diagram still renders under the constraint.

Also applies the outstanding evidence-tier finding. Three solid edges cited
only the *target's* README, which the doc's own legend forbids for solid
arrows. Re-checked each against the dependent's own sources and demoted them:

- naruon -> ThreadWeave: naruon's README, backend/pyproject.toml and
  requirements.txt carry no threadweave; repo-wide code search returns 0 hits.
- naruon -> CalendarWeave: no mention in naruon's README; code search 0 hits.
- LineageWeave -> CalendarWeave: LineageWeave's own docs/adr/0183 does name
  CalendarWeave, but records the wiring as "a later consume-only slice" that
  currently fail-closes unwired -- planned, not shipped.

The legend and the dashed-section intro now say a dashed arrow may also rest
on the target's own README, which is what the five already-demoted OIDC rows
were resting on too. Corrects the HTML lede's "three PRs" against the four PR
cards the panel actually renders.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@opencode-agent
opencode-agent Bot force-pushed the claude/repo-dependency-graph branch from 8bf03c0 to 7c76109 Compare September 6, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation priority: medium Normal-priority or P2 work status: needs-review Open pull request requiring current-head review or checks type: docs Documentation, ADR, PRD, or technical writing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants