You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,6 +92,34 @@ npm run apply -- <org> <path-to-file> # single-file apply (same safety, scoped d
92
92
93
93
Runs the engine's local validators against every YAML/MD file in the org without any network call. Catches shape errors (missing required fields, wrong types, stale tool references) before they burn a deploy. **Run before every `apply`.**
94
94
95
+
### `npm run pull -- <org>` — refresh from dashboard (default: plain pull)
96
+
97
+
**Default to plain pull, NOT --force.** Plain `npm run pull -- <org>` shows:
- A hard gate (`--resolve` flag) on 3-way conflicts before they silently lose data
101
+
102
+
`--force` skips all of this and just overwrites local with dashboard. Use it ONLY when you literally need to nuke local and re-materialize dashboard truth (rare). Plain pull is the DEFAULT for both humans and agents; `--force` is the escape hatch.
103
+
104
+
**Pull-output icon legend.** Distinct semantics in a single pulled-resource line:
105
+
106
+
| Icon | Meaning |
107
+
|------|---------|
108
+
|`📝`| Engine wrote/updated a file on disk (clean / no-baseline path) |
109
+
|`✨`| Engine created a NEW file on disk (first-time pull of this resource) |
110
+
|`✏️`| Locally modified file detected by git, preserved as-is |
111
+
|`⬆️`|`local-ahead` — local has unpushed edits, needs to flow UP to dashboard (preserved) |
112
+
|`⬇️`|`--resolve=theirs` — overwrote local with dashboard (flowed DOWN) |
|`🗑️`| Locally deleted (deletion intent recorded in state) |
116
+
117
+
Mental model: `⬆️` flows UP (push), `⬇️` flows DOWN (pull-overwrite), `📝` is the engine doing routine file I/O.
118
+
119
+
**First-adoption noise on customer repos.** The first `npm run audit -- <org>` after upgrading to a version with the content-drift rule will surface `[content-drift] [no-baseline]` info findings for every resource whose state row predates `lastPulledHash` tracking. These are info-severity (do NOT block CI), but the noise is real. Two ways to clear:
120
+
-`npm run pull -- <org> --bootstrap` — refreshes state with the current platform-hash baseline, no resource materialization. One-shot fix for the whole fleet.
121
+
- Or just let them sit — each plain `npm run pull` after this writes `lastPulledHash` for whichever resources it touches, so the no-baseline rows naturally drain over the next few sync cycles.
122
+
95
123
### `npm run push -- <org>` — raw push, no pre-pull
96
124
97
125
Skips the merge pass. Only use when (a) you literally just ran `pull` and (b) you're certain no one has touched the dashboard since. In a multi-developer environment or when dashboard editors are in play, default to `apply` instead. Stale local state can clobber recent dashboard edits or PATCH against UUIDs that no longer exist.
0 commit comments