Skip to content

Commit 4bb1494

Browse files
cm-dyoshikawaclaude
andcommitted
docs: qualify the checks round-trip claim for tool-target key collisions
Imported Amp check keys that collide with a rulesync tool-target name are treated as tool-scoped sections and are not re-emitted, so the round-trip claim needed the exception spelled out. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent ee8c280 commit 4bb1494

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

docs/reference/file-formats.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ The emitted Amp frontmatter is derived from the source as follows:
448448
| `severity-default` | `severity` |
449449
| `tools` | `tools` |
450450

451-
The frontmatter schema is loose, so any extra Amp-specific keys survive a generate/import round-trip. A tool-scoped section (e.g. `amp: { "severity-default": "critical" }`) overrides the canonical values for that tool — the tool-specific value takes precedence, and the section itself is not emitted (except `name`, which always comes from the file name). On import, `severity-default` maps back to the generic `severity` field, and the `name` field is dropped because it is re-derived from the file name on the next generate.
451+
The frontmatter schema is loose, so extra Amp-specific keys survive a generate/import round-trip (except keys that collide with a rulesync tool-target name such as `cursor` — those are treated as tool-scoped sections and are not re-emitted). A tool-scoped section (e.g. `amp: { "severity-default": "critical" }`) overrides the canonical values for that tool — the tool-specific value takes precedence, and the section itself is not emitted (except `name`, which always comes from the file name). On import, `severity-default` maps back to the generic `severity` field, and the `name` field is dropped because it is re-derived from the file name on the next generate.
452452

453453
> **v1 limitation:** Amp also discovers subtree-scoped checks (e.g. `api/.agents/checks/`), but rulesync sources carry no directory-placement semantics, so those subtree-scoped checks are not generated. See the [Amp manual](https://ampcode.com/manual).
454454

skills/rulesync/file-formats.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ The emitted Amp frontmatter is derived from the source as follows:
448448
| `severity-default` | `severity` |
449449
| `tools` | `tools` |
450450

451-
The frontmatter schema is loose, so any extra Amp-specific keys survive a generate/import round-trip. A tool-scoped section (e.g. `amp: { "severity-default": "critical" }`) overrides the canonical values for that tool — the tool-specific value takes precedence, and the section itself is not emitted (except `name`, which always comes from the file name). On import, `severity-default` maps back to the generic `severity` field, and the `name` field is dropped because it is re-derived from the file name on the next generate.
451+
The frontmatter schema is loose, so extra Amp-specific keys survive a generate/import round-trip (except keys that collide with a rulesync tool-target name such as `cursor` — those are treated as tool-scoped sections and are not re-emitted). A tool-scoped section (e.g. `amp: { "severity-default": "critical" }`) overrides the canonical values for that tool — the tool-specific value takes precedence, and the section itself is not emitted (except `name`, which always comes from the file name). On import, `severity-default` maps back to the generic `severity` field, and the `name` field is dropped because it is re-derived from the file name on the next generate.
452452

453453
> **v1 limitation:** Amp also discovers subtree-scoped checks (e.g. `api/.agents/checks/`), but rulesync sources carry no directory-placement semantics, so those subtree-scoped checks are not generated. See the [Amp manual](https://ampcode.com/manual).
454454

0 commit comments

Comments
 (0)