Cross-repo unification: conventions pointer, remote form, and shared Jev tooling #1

Closed
opened 2026-10-04 19:41:37 +02:00 by clawdie · 1 comment
Owner

websources is the sixth Clawdie repo and is currently referenced by none of the
five that share conventions (canonical table: colibri/AGENTS.md; siblings:
clawdie-iso, colibri, bherdr, zot, agent-skills). Tracking convergence items
found while unifying the docs conventions. Read-only analysis; no edits made.

Deterministic findings

colibri scripts/cross-repo-consistency.py over this AGENTS.md:

  • [REMOTE-FORM] §4 uses the SCP form git@code.clawdie.si:clawdie/websources.git;
    canonical is ssh://git@code.clawdie.si:2222/clawdie/websources.git.
  • [GATES-PARTIAL] declares the okf frontmatter gate but not the shared
    dates (DD.mmm.YYYY) / markdown formatter / wiki-lint gates.
  • The OMISSION-TABLE hit was a scanner false positive on the §3 boundary
    matrix (repos named in a topics cell, not a coordination table). Fixed in
    colibri #95; no table change is needed here.

Convention gaps

  • No link to the canonical cross-repo table and no "local rules remain
    authoritative" clause.
  • Commit identity/conventions not stated (named-file commits,
    hello@clawdie.si, Sam & <Agent> (<host>)), nor the branch/PR flow. §4's
    "never push without explicit human instruction" is stricter than the
    canonical branch workflow and should win locally.
  • okf schema drift: §6 requires classified_by/status; the colibri gate
    requires verified_by/platform_notes. This file itself uses verified_by.

Jev tooling drift (highest value)

scripts/jev-classify.py re-implements the Jev transport separately from the
shared agent-skills/jev-triage tooling:

  • hardcodes the Vercel endpoint + typesafe-ai/jev; no TypeSafe-primary /
    OpenRouter fallback;
  • records no caller_attribution, provider, or provider_attempts
    (agent-skills #37/#41);
  • its own retry loop instead of the shared policy.

Its own content-intake/UMBRELLA-WIKI-GOAL.md already requires cache identity =
source hash + excerpt/section + model + question schema + policy version, and
"preserve raw confidence and per-choice probability fields separately" — the
script does not implement this. Stamp ownership is tracked in colibri #94.

Docs ownership overlap

sites/docs and sites/wiki claim canonical ownership of Colibri/bherdr/zot/ZFS
platform documentation, while the component repos keep their own docs/wiki/
(e.g. colibri docs/wiki/architecture.md). Decide source-of-truth and link
rather than duplicate.

Decision needed

Is websources a platform repo (named in every coordination table — the
canonical four become five) or a satellite (linked to the canonical table,
discovered by the scanner as EXTRA_REPOS, like agent-skills)?

Recommendation: satellite — it consumes the platform docs rather than
owning the code platform. Once decided: add it to the colibri coordination
table + scanner, then open a websources PR for the pointer and remote form.

`websources` is the sixth Clawdie repo and is currently referenced by none of the five that share conventions (canonical table: `colibri/AGENTS.md`; siblings: clawdie-iso, colibri, bherdr, zot, agent-skills). Tracking convergence items found while unifying the docs conventions. Read-only analysis; no edits made. ## Deterministic findings `colibri scripts/cross-repo-consistency.py` over this `AGENTS.md`: - `[REMOTE-FORM]` §4 uses the SCP form `git@code.clawdie.si:clawdie/websources.git`; canonical is `ssh://git@code.clawdie.si:2222/clawdie/websources.git`. - `[GATES-PARTIAL]` declares the `okf` frontmatter gate but not the shared dates (`DD.mmm.YYYY`) / markdown formatter / wiki-lint gates. - The `OMISSION-TABLE` hit was a scanner false positive on the §3 boundary matrix (repos named in a topics cell, not a coordination table). Fixed in colibri #95; no table change is needed here. ## Convention gaps - No link to the canonical cross-repo table and no "local rules remain authoritative" clause. - Commit identity/conventions not stated (named-file commits, `hello@clawdie.si`, `Sam & <Agent> (<host>)`), nor the branch/PR flow. §4's "never push without explicit human instruction" is *stricter* than the canonical branch workflow and should win locally. - `okf` schema drift: §6 requires `classified_by`/`status`; the colibri gate requires `verified_by`/`platform_notes`. This file itself uses `verified_by`. ## Jev tooling drift (highest value) `scripts/jev-classify.py` re-implements the Jev transport separately from the shared `agent-skills/jev-triage` tooling: - hardcodes the Vercel endpoint + `typesafe-ai/jev`; no TypeSafe-primary / OpenRouter fallback; - records no `caller_attribution`, `provider`, or `provider_attempts` (agent-skills #37/#41); - its own retry loop instead of the shared policy. Its own `content-intake/UMBRELLA-WIKI-GOAL.md` already requires cache identity = source hash + excerpt/section + model + question schema + policy version, and "preserve raw confidence and per-choice probability fields separately" — the script does not implement this. Stamp ownership is tracked in colibri #94. ## Docs ownership overlap `sites/docs` and `sites/wiki` claim canonical ownership of Colibri/bherdr/zot/ZFS platform documentation, while the component repos keep their own `docs/wiki/` (e.g. colibri `docs/wiki/architecture.md`). Decide source-of-truth and link rather than duplicate. ## Decision needed Is `websources` a **platform** repo (named in every coordination table — the canonical four become five) or a **satellite** (linked to the canonical table, discovered by the scanner as `EXTRA_REPOS`, like agent-skills)? Recommendation: **satellite** — it consumes the platform docs rather than owning the code platform. Once decided: add it to the colibri coordination table + scanner, then open a `websources` PR for the pointer and remote form.
Author
Owner

Verified — closing.

#20 is merged (51ace40). Most of this issue was already resolved before the PR;
here is the itemised disposition.

Already resolved on main (verified, no change needed)

  • [REMOTE-FORM] — §4 already uses the canonical
    ssh://git@code.clawdie.si:2222/clawdie/websources.git.
  • Jev tooling drift — scripts/jev-classify.py loads the shared jev_eval
    (TypeSafe-first with fallback) via JEV_TRIAGE_ROOT / PATH, and records
    caller_attribution, provider, provider_attempts, usage, cost. The
    hardcoded Vercel transport is gone.
  • Ownership decision — the scanner carries
    DOCUMENTATION_REPOS = ("websources",), i.e. the recommended satellite
    role, and §1 already requires linking to component sources rather than
    duplicating their contracts.
  • python3 colibri/scripts/cross-repo-consistency.py → 0 findings across 6
    repos
    (re-run just now against the merged main).

Fixed in #20

  • okf schema drift (§6) — named the stale classified_by/status; now names
    source_of_truth / last_verified (30-day window) / verified_by, plus
    platform_notes where the source touches platform-specific code.
  • Commit identity + branch workflow (§4) — now stated, with the local never
    push without explicit instruction
    rule explicitly stricter than the
    shared main-is-merge-only workflow.
  • Local-rules-win clause — added beside the canonical coordination link.
  • Stale build telemetry — documented 75 pages (agents 36, wiki 8); a real
    build produces 98 (agents 57, wiki 10). Corrected and reworded as a smoke
    signal rather than a fixed contract.

Verified: npm run check:all ✅ · npm run build ✅ (98 pages, 5 workspaces).

Noted, not actioned

The sites/docs ↔ component-repo docs/wiki/ overlap is left to §1's existing
"link, don't duplicate" rule rather than a new §3 decision. Reopen or file
separately if you want that stated explicitly.

**Verified — closing.** #20 is merged (`51ace40`). Most of this issue was already resolved before the PR; here is the itemised disposition. ### Already resolved on `main` (verified, no change needed) - **`[REMOTE-FORM]`** — §4 already uses the canonical `ssh://git@code.clawdie.si:2222/clawdie/websources.git`. - **Jev tooling drift** — `scripts/jev-classify.py` loads the shared `jev_eval` (TypeSafe-first with fallback) via `JEV_TRIAGE_ROOT` / `PATH`, and records `caller_attribution`, `provider`, `provider_attempts`, `usage`, `cost`. The hardcoded Vercel transport is gone. - **Ownership decision** — the scanner carries `DOCUMENTATION_REPOS = ("websources",)`, i.e. the recommended **satellite** role, and §1 already requires linking to component sources rather than duplicating their contracts. - `python3 colibri/scripts/cross-repo-consistency.py` → **0 findings across 6 repos** (re-run just now against the merged `main`). ### Fixed in #20 - **okf schema drift (§6)** — named the stale `classified_by`/`status`; now names `source_of_truth` / `last_verified` (30-day window) / `verified_by`, plus `platform_notes` where the source touches platform-specific code. - **Commit identity + branch workflow (§4)** — now stated, with the local *never push without explicit instruction* rule explicitly **stricter** than the shared `main`-is-merge-only workflow. - **Local-rules-win clause** — added beside the canonical coordination link. - **Stale build telemetry** — documented 75 pages (agents 36, wiki 8); a real build produces **98** (agents 57, wiki 10). Corrected and reworded as a smoke signal rather than a fixed contract. Verified: `npm run check:all` ✅ · `npm run build` ✅ (98 pages, 5 workspaces). ### Noted, not actioned The `sites/docs` ↔ component-repo `docs/wiki/` overlap is left to §1's existing "link, don't duplicate" rule rather than a new §3 decision. Reopen or file separately if you want that stated explicitly.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/websources#1
No description provided.