Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# AGENTS.md — ContextualWisdomLab .github

<!-- CWL-ENTRY -->
> **Agents: read the master context FIRST.** Before any work, read [`docs/CWL-MASTER-CONTEXT.md`](docs/CWL-MASTER-CONTEXT.md) (mission · naruon-as-platform + inter-component UML · cross-cutting disciplines · conventions · roadmap · current state), the live **GitHub Project #1** <https://github.com/orgs/ContextualWisdomLab/projects/1> (work/roadmap source of truth), the full spec **ContextualWisdomLab/naruon#974**, the live gap snapshot [`docs/product-technical-gap-baseline.md`](docs/product-technical-gap-baseline.md) (not merge authorization; Figma File ID for this repo is N/A per [`docs/adr/0002-product-technical-gap-baseline.md`](docs/adr/0002-product-technical-gap-baseline.md)), and operate the Project per [`docs/agent-github-project-protocol.md`](docs/agent-github-project-protocol.md). The repo/Project — not any private agent memory — is the source of truth.
> **Agents: read the master context FIRST.** Before any work, read [`docs/CWL-MASTER-CONTEXT.md`](docs/CWL-MASTER-CONTEXT.md) (mission · naruon-as-platform + inter-component UML · cross-cutting disciplines · conventions · roadmap · current state), the live **GitHub Project #1** <https://github.com/orgs/ContextualWisdomLab/projects/1> (work/roadmap source of truth), the full spec **ContextualWisdomLab/naruon#974**, the live gap snapshot [`docs/product-technical-gap-baseline.md`](docs/product-technical-gap-baseline.md) (not merge authorization; Figma File ID for this repo is N/A per [`docs/adr/0002-product-technical-gap-baseline.md`](docs/adr/0002-product-technical-gap-baseline.md)), and operate the Project per [`docs/agent-github-project-protocol.md`](docs/agent-github-project-protocol.md). The repo/Project — not any private agent memory — is the source of truth. The standing autonomous operating directive for the continuous PR review→fix→merge→develop loop across the ecosystem is [`docs/product-goal-directive.md`](docs/product-goal-directive.md) — a `/goal` session's 4000-character pointer refers to it; read the full directive before running or configuring any such loop.

Materialize accepts only exact SHA-256 pins, a bounded relative `-r` include
(no `.`/`..`), or an organization-owned HTTPS Git source pinned to a full
Expand Down
6 changes: 5 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ disciplines CP-1..CP-5/G6/SEAM, binding engineering conventions in §7, roadmap)
[GitHub Project #1](https://github.com/orgs/ContextualWisdomLab/projects/1) (work/roadmap source of
truth), the live gap snapshot [`docs/product-technical-gap-baseline.md`](docs/product-technical-gap-baseline.md)
(not merge authorization; Figma File ID for this repo is N/A), and operate the Project per
[`docs/agent-github-project-protocol.md`](docs/agent-github-project-protocol.md).
[`docs/agent-github-project-protocol.md`](docs/agent-github-project-protocol.md). The standing
autonomous operating directive for the continuous PR review→fix→merge→develop loop across the
ecosystem — the full text a `/goal` session's length-capped pointer refers to — is
[`docs/product-goal-directive.md`](docs/product-goal-directive.md); read it in full before running or
configuring any such loop.
The repo/Project — not private agent memory — is the source of truth. This file complements those
documents; it does not replace them.

Expand Down
1 change: 1 addition & 0 deletions docs/CWL-MASTER-CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ GitHub **Project #1** is the shared source of truth. Structure: real **Issues**

## 10. Current state (2026-08-23)
- Live product/technical gap snapshot: [`docs/product-technical-gap-baseline.md`](product-technical-gap-baseline.md) (SHA-bound open-PR inventory; not merge authorization). Figma File ID for this control-plane repo is N/A (`docs/adr/0002-product-technical-gap-baseline.md`).
- Standing autonomous operating directive for the continuous PR review→fix→merge→develop loop across the ecosystem: [`docs/product-goal-directive.md`](product-goal-directive.md) (full text; a `/goal` session's 4000-character field only holds a pointer to it).
- Renames done (keyverse/wardnet/inkspan). Planning spec = ContextualWisdomLab/naruon#974. Protocol = ContextualWisdomLab/.github#363. Project #1 remains the live tracker; naruon Phase 0 issue ContextualWisdomLab/naruon#975 is Done (closed completed 2026-07-13). Next ordered phase is ContextualWisdomLab/naruon#976 (P1 Plugin SDK); execute one phase at a time.
- GitHub Actions hosted Checks are running on current ContextualWisdomLab/.github PRs. Remaining merge blockers are missing current-head OpenCode approvals, Strix provider fail-closed, unresolved threads, and DIRTY/CONFLICTING stacks — not a total runner outage. Do not treat the earlier spending-cap halt as live unless Project #1 still shows it.
- **Decisions pending**: (D1) Code Security enablement vs the CodeQL-only code_scanning ruleset (osv/trivy/scorecard SARIF upload) — a private repo needs GHAS seats; reconcile or make those checks non-required. (D2) trivy `limit-severities-for-sarif: true` (gate only CRITICAL/HIGH) — held pending the user's strict-security preference.
Expand Down
88 changes: 88 additions & 0 deletions docs/doctoring/product-goal-directive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Doctoring record: product-goal-directive.md (the `/goal` 4000-character cap)

- **Date:** 2026-08-30
- **Subject:** `/goal`'s session-condition field truncates at 4000 characters.
The owner's full nine-section autonomous PR review→fix→merge→develop loop
directive is ~7900 characters and would lose specific, deliberate
constraints if summarized to fit. Introduced
[`docs/product-goal-directive.md`](../product-goal-directive.md) to hold the
directive verbatim, with no length limit, and linked it from `AGENTS.md`,
`CLAUDE.md`, and `docs/CWL-MASTER-CONTEXT.md` §10 so any agent reads it
during normal onboarding regardless of how a loop was started.
- **Decision record:** none yet in `docs/adr/` — this is a documentation/process
change, not an architecture decision; §7 of `docs/CWL-MASTER-CONTEXT.md`
("Durable knowledge lives in the repo / Project / KG, NOT in an agent's
private memory") is the binding convention this follows.
- **PR:** ContextualWisdomLab/.github#1429.

## What changed

- New file `docs/product-goal-directive.md`: the nine-section directive
recorded verbatim (Korean, as authored), each section given a short English
heading, plus a `/goal`-sized pointer text a future session can paste in
instead of the full directive.
- `AGENTS.md`'s `<!-- CWL-ENTRY -->` read-first block, `CLAUDE.md`'s "Read
first" section, and `docs/CWL-MASTER-CONTEXT.md` §10 ("Current state") each
gained one linking sentence to the new file.

## Review findings and reconciliation (Devin Review, PR #1429)

Devin Review's automated pass on this PR raised two findings against the new
file, both confirmed valid and fixed in place (not by editing the verbatim
quoted directive text, which is meant to preserve the owner's own wording
unmodified):

1. **Missing traceability record.** The PR introduced a new standing policy
(the `/goal`-pointer mechanism itself) without a `docs/doctoring/` entry,
contradicting the pattern this repo already follows for standing-policy and
infra changes (e.g. `docs/doctoring/contextual-orchestrator-vendored-sidecar.md`,
`docs/doctoring/noema-orchestrator-free-zdr.md`). This file is that record.
2. **Naming section (§5) contradicts existing binding conventions.** The
verbatim directive text (a) uses "wardnet" as an example of an "old name"
to rename away from, when `docs/CWL-MASTER-CONTEXT.md` §3/§10 records
`waf-ids-ai-soc` → **wardnet** as an already-completed rename — wardnet is
the current canonical name, not a legacy one; and (b) says all DB names
violating the snake_case convention "shall be replaced entirely," which
contradicts `docs/CWL-MASTER-CONTEXT.md` §7's explicit grandfather clause,
"DB object names = 2+ word snake_case (don't rename existing Camel/Pascal)."
Read literally and combined with this org's stated "full autonomy, do not
ask the user" convention, an agent following §5's wording alone could
force-rename the wardnet product or existing database objects and violate
the canonical schema/naming contract that a completed rename already
established.

Resolved per `docs/product-goal-directive.md`'s own stated conflict
policy ("Where this directive and those documents conflict, resolve the
conflict and update whichever document is wrong — do not silently pick
one"): added a reconciliation note directly after §5's quoted text (not
inside the quote) stating that `docs/CWL-MASTER-CONTEXT.md` §7 governs,
that the snake_case rule applies to **new** DB objects only, and that
wardnet must not be treated as a rename target.

## Follow-up findings (CodeRabbit, PR #1429)

CodeRabbit's automated pass raised two further findings, both verified and
fixed:

3. **Markdown lint (MD040).** The `/goal` pointer example's fenced code block
had no language identifier. Changed the opening fence to ` ```text ` since
the block is a command example, not executable code.
4. **Section 8 read as CI routing policy.** Section 8's quoted text describes
`contextual-orchestrator`'s general auto-discovery capability across all
five provider secrets — a product-level design principle, not CI routing
policy. Read in isolation, an agent could mistake it for license to loosen
which pool `OpenCode`/`Noema`/`Strix` route through. Added a note (not
inside the quote) stating that pool/credential-scope routing is governed
exclusively by `docs/adr/0003-contextual-orchestrator-vendored-free-zdr.md`:
`OpenCode`/`Noema` → fail-closed `orchestrator/free`; `Strix` →
`orchestrator/auto`; private/internal targets require an attested
ZDR-only catalog.

## Audit trail

- `docs/product-goal-directive.md` — the directive itself and the
reconciliation note.
- `docs/CWL-MASTER-CONTEXT.md` §3, §7, §10 — the naming-history and DB-naming
conventions this record reconciles against.
- ContextualWisdomLab/.github#1429 — the PR carrying this change and Devin
Review's findings.
Loading
Loading