Repository navigation
docs: some changes to sync agents review - #6
alexgwolff wants to merge 3 commits into
Conversation
Signed-off-by: Alex G. Wolff <13754094+alexgwolff@users.noreply.github.com>
luisfmoraes
left a comment
There was a problem hiding this comment.
Review: 9 inline findings. The most important are the broken spec→intent link from the file move, and the Mac naming rule contradicting the _macos.rs convention and existing hits.
| This example does not define how configuration is stored, transmitted, or loaded | ||
| — only that unknown keys are rejected. | ||
|
|
||
| ## Documentation |
There was a problem hiding this comment.
Broken link. This file moved from docs/example-intent.md to docs/example/example-intent.md, but docs/example/example.spec.md:23 (not touched by this PR) still links to ../example-intent.md, which now resolves to docs/example-intent.md, a file that no longer exists. The spec's link back to its intent breaks, so the docs-review check fails on the example set.
Suggested fix: change that link in example.spec.md to ./example-intent.md (and check example.acceptance.md for the same link).
There was a problem hiding this comment.
marcou no lugar errado nao tem link onde marcou
| Platform names MUST be written as `Linux`, `MacOS`, and `Windows` — in prose, | ||
| docs, code, and diagrams. In particular, use `MacOS`; Apple's `macOS` styling | ||
| MUST NOT be used. | ||
| Platform names MUST be written as `Linux`, `Mac`, and `Windows` — in prose, |
There was a problem hiding this comment.
The MacOS → Mac rename is incomplete. This MUST covers "prose, docs, code, and diagrams", but existing hits on dev were not updated:
src/environment/src/env_var/docs/env-var-host/env-var-host.acceptance.mdlines 35, 51 and 53 still say "MacOS mapping(s)"- code:
MACOS_MAPPINGS, theenv_var_host_macosmodule,src/main.rs:9
After merge, these break a MUST that this PR introduces. Either update the hits in the same PR, or narrow the rule to prose/docs and state how identifiers are spelled.
There was a problem hiding this comment.
fora de escope analisar rust files nada tinha sido mexido no PR
There was a problem hiding this comment.
mas a parte do docs esta certa
| @@ -137,16 +145,16 @@ testable and reusable outside the CLI (another binary, another consumer, etc.). | |||
|
|
|||
| ### Multi-platform | |||
|
|
|||
| Every domain MUST be designed for multiple platforms (MacOS/Linux/Windows) from | |||
| Every domain MUST be designed for multiple platforms (Mac/Linux/Windows) from | |||
| the start, not bolted on later. Platform-specific code MUST be isolated (e.g. | |||
| `_macos.rs`, `_linux.rs`, `_windows.rs`), and shared logic MUST stay separate | |||
There was a problem hiding this comment.
Contradicts the Platform names rule. This section requires platform files named _macos.rs, while Platform names says Mac MUST be used in code. A contributor adding a platform file must break one of the two: _mac.rs goes against this rule and every existing file, and _macos.rs goes against the naming rule. Suggest adding an explicit exception for identifiers and file names (e.g. "macos in snake_case/SCREAMING_CASE identifiers and cfg(target_os = \"macos\")").
There was a problem hiding this comment.
fora de escope analisar rust files nada tinha sido mexido no PR
| standards — its constitution. You amend them through a pull request; you MUST | ||
| NOT break them. A rule stated as a preference is still binding, and its | ||
| exceptions are part of the rule. | ||
|
|
||
| ## Overview |
There was a problem hiding this comment.
Removed sentence isn't restated anywhere. The old paragraph said: "A rule stated as a preference is still binding, and its exceptions are part of the rule." The new IMPORTANT callout doesn't carry this over. Without it, rules worded as preferences, e.g. Std-first's "Prefer Rust's standard library over external crates", read as optional, and their listed exceptions stop being part of the rule. Suggest keeping that sentence in the callout (or rewording such rules with MUST/SHOULD).
| path. Feature docs (intent, specification, acceptance, ADR) follow their own | ||
| graph — see [Specifications](./SPEC_CONVENTIONS.md#docs-graph). | ||
| Repo-level docs form a connected graph rooted at [README.md](../README.md): | ||
| every doc MUST link to every other doc it references, so no doc is reachable |
There was a problem hiding this comment.
The Docs graph rule got weaker. It now only requires linking to docs you reference, so a new doc that references nothing and that nothing links to passes the rule while being reachable only by file path. That contradicts "connected graph rooted at README.md" just above. The explicit pointer to SPEC_CONVENTIONS.md#docs-graph for feature docs was also dropped here. AGENTS.md expects agents to reach rules by following links, so it's worth keeping.
| outbound links in one place. A set of docs MAY define its own graph; when it does, that graph MUST be | ||
| documented alongside the set. Always read the graph before navigating or linking |
There was a problem hiding this comment.
Two small issues here:
- "Always read the graph…" is not an RFC 2119 keyword, so it breaks this file's own rule that it "MUST NOT use alternative words … as normative keywords". Suggest "Agents SHOULD read the graph before…" (or MUST).
- Line 112 is 101 characters. The rest of the PR is wrapped at 80 columns, so dprint (
textWrap: always) will rewrap this paragraph on its next run and create churn in an unrelated PR.
There was a problem hiding this comment.
Line 112 is 101 characters tem zero rule falando sobre isso
| --- | ||
|
|
||
| > [!IMPORTANT] | ||
| > These are the Kraf codebase's **invariants** — non-negotiable rules that |
There was a problem hiding this comment.
This callout makes the whole architecture doc binding, but the doc describes itself as partly illustrative ("The names shown here (filesystem, read_file, local, ...) are illustrative, not a final inventory") and describes containers that don't exist yet (kraf-mcp, kraf-lib, kraf-host). Those placeholder names become invariants that code "MUST NOT break". Suggest scoping the callout, e.g. only the Dependency rule and Ports and adapters sections are invariants, and the diagrams and names are illustrative.
There was a problem hiding this comment.
nao sei oque ele entendeu por Those placeholder names become invariants that code "MUST NOT break"
There was a problem hiding this comment.
mas a pena revever pra ver se a linguagem nao esta clara
|
|
||
| This index links to Kraf's repository-wide documentation and illustrative | ||
| specification examples. Feature documentation lives with the feature it describes. | ||
| This index links to Kraf's repository-wide documentation. |
There was a problem hiding this comment.
Leftovers from removing the Examples section:
- The front-matter
summary(line 3) still says this index covers "specification examples". docs/example/example-intent.md:32still describes this page as "documentation index and example overview".
Agents that index by front-matter are sent here for examples this page no longer lists.
There was a problem hiding this comment.
acho que muito longe isso nao sei blz inconsistencia mas né ..
| edits this file — it MUST NOT be an ad-hoc exception slipped into passing code. | ||
| > [!IMPORTANT] | ||
| > These are the Kraf codebase's **invariants** — non-negotiable rules that | ||
| > codebase MUST follow. Treat them like a constitution: you MUST NOT break an |
There was a problem hiding this comment.
Nits on the invariants callout:
- Grammar: "non-negotiable rules that codebase MUST follow" should be "that the codebase MUST follow".
- The same 6-line callout is pasted into ARCHITECTURE, BUILDING, CODE_CONVENTIONS and SPEC_CONVENTIONS, so every wording change has to land in four places or the copies drift. Consider defining it once (e.g. in
docs/README.mdor BUILDING) and linking to it. - It replaced this doc's
## Overview, so the file now jumps straight from the callout to## Rust moduleswith no intro.
There was a problem hiding this comment.
Grammar: "non-negotiable rules that codebase MUST follow" should be "that the codebase MUST follow" pq?
There was a problem hiding this comment.
The same 6-line callout is pasted into ARCHITECTURE, BUILDING, CODE_CONVENTIONS and SPEC_CONVENTIONS, so every wording change has to land in four places or the copies drift. Consider defining it once (e.g. in docs/README.md or BUILDING) and linking to it.
esta definido nos templates que é obrigatorio
7214599 to
c467747
Compare
Signed-off-by: Alex G. Wolff 13754094+alexgwolff@users.noreply.github.com
Summary
Reorganize repository conventions and align agent guidance with the documentation.
What does this pull request change?
How to test?
Other Notes and Links