@bevel-software/platform-shared 0.25.2 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/git/pr.types.d.ts +101 -0
  2. package/dist/git/pr.types.d.ts.map +1 -1
  3. package/dist/git/types.d.ts +76 -2
  4. package/dist/git/types.d.ts.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/workflow/events.d.ts +24 -1
  10. package/dist/workflow/events.d.ts.map +1 -1
  11. package/dist/workflow/events.js +1 -0
  12. package/dist/workflow/events.js.map +1 -1
  13. package/dist/workflow/interface.d.ts +42 -1
  14. package/dist/workflow/interface.d.ts.map +1 -1
  15. package/dist/workflow/types.d.ts +57 -3
  16. package/dist/workflow/types.d.ts.map +1 -1
  17. package/dist/workspace/kb-layout.d.ts +40 -101
  18. package/dist/workspace/kb-layout.d.ts.map +1 -1
  19. package/dist/workspace/kb-layout.js +40 -159
  20. package/dist/workspace/kb-layout.js.map +1 -1
  21. package/dist/workspace/md-links.d.ts +138 -0
  22. package/dist/workspace/md-links.d.ts.map +1 -0
  23. package/dist/workspace/md-links.js +703 -0
  24. package/dist/workspace/md-links.js.map +1 -0
  25. package/dist/workspace/platform-files.d.ts +25 -24
  26. package/dist/workspace/platform-files.d.ts.map +1 -1
  27. package/dist/workspace/platform-files.js +41 -25
  28. package/dist/workspace/platform-files.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/git/pr.types.ts +99 -0
  31. package/src/git/types.ts +80 -2
  32. package/src/index.ts +1 -0
  33. package/src/workflow/events.ts +26 -0
  34. package/src/workflow/interface.ts +42 -0
  35. package/src/workflow/types.ts +48 -4
  36. package/src/workspace/kb-layout.ts +39 -172
  37. package/src/workspace/md-links.ts +757 -0
  38. package/src/workspace/platform-files.ts +44 -26
@@ -103,41 +103,40 @@ export declare let SKILLS_DIR: string;
103
103
  */
104
104
  export declare let PLUGINS_DIR: string;
105
105
  /**
106
- * The file name of the platform's MANAGED agent guide at the repository root —
107
- * the document every connected agent is told to read first, written and
108
- * refreshed from the packaged template on every start.
109
- *
110
- * Configurable for one reason: `AGENTS.md` is the name coding agents look for
111
- * by convention, so a customer arriving with a repository of their own very
112
- * often already HAS one, and under the default name the platform would
113
- * overwrite it on the first boot and on every boot after. Renaming the managed
114
- * guide (`HEXIS.md`, say) hands that name back: `AGENTS.md` becomes ordinary
115
- * content the platform never writes, never refreshes and never hides, and the
116
- * customer's file is the one that points at ours (see
117
- * {@link agentsFilePointerSentence}).
118
- *
119
- * A live binding like the three roots above — read it inside a function body,
120
- * never capture it at module scope.
106
+ * The name the platform's agent guide is READ BY at the repository root — the
107
+ * document every connected agent is told to read first.
108
+ *
109
+ * The guide is no longer a file: the backend composes it from text the code
110
+ * owns and serves it through `get_agent_guide` and through a `read_file` of
111
+ * this name (see core-backend's `modules/agent-guide`), after the knowledge
112
+ * base's own file of that name when it has one. ONE name on every
113
+ * deployment: the setting that let a deployment rename the written guide is
114
+ * gone, and the settings layer no longer reads a value it saved — the layout
115
+ * it produces carries this name. The field stays on the layout for the shape
116
+ * every consumer reads, and the helpers here (`agentsFileOf`,
117
+ * `configureKbLayout`) still apply whatever a caller puts in it, so the one
118
+ * name is the producer's doing, not this module's.
121
119
  */
122
120
  export declare let AGENTS_FILE: string;
123
121
  /**
124
- * The name the managed guide had when it was the only name it could have.
122
+ * The name the guide had when it was the only name it could have, and the
123
+ * name it is always read by now.
125
124
  *
126
125
  * Referenced ONLY by the code that has to tell OUR file from THEIRS — the
127
- * boot-time removal of a platform-written `AGENTS.md`, the ignore rule that
128
- * stops hiding it, the instruction telling an agent to read the customer's
129
- * file too. In the spirit of {@link LEGACY_GROUPS_DIR}: a second live spelling
126
+ * boot-time removal of the guide copies earlier releases wrote, the ignore
127
+ * rule that stops hiding them, the instruction telling an agent what to read
128
+ * first. In the spirit of {@link LEGACY_GROUPS_DIR}: a second live spelling
130
129
  * of the CURRENT name is how two layouts start being supported by accident, so
131
130
  * this one is a constant and means exactly one thing.
132
131
  */
133
132
  export declare const LEGACY_AGENTS_FILE = "AGENTS.md";
134
133
  /**
135
134
  * The platform files whose names are FIXED — the ones no deployment renames.
136
- * The guide is the fourth platform file and is deliberately absent here: its
137
- * name is {@link AGENTS_FILE}, and `platform-files.ts` composes the two into
138
- * the set every gate reads.
135
+ * The guide is NOT a platform file: nothing is written under its name, so a
136
+ * root `AGENTS.md` (or whatever the deployment once called the guide) is the
137
+ * organisation's own conventions page, movable and deletable like any other.
139
138
  *
140
- * It lives in this module rather than beside that composition because the
139
+ * It lives in this module rather than beside `platform-files.ts` because the
141
140
  * LAYOUT has to validate against it (a guide may not be called `access.md`),
142
141
  * and `platform-files.ts` already reads this module — the other direction
143
142
  * would be a cycle.
@@ -171,64 +170,10 @@ export declare function agentsFileOf(layout: KbLayout): string;
171
170
  * a leading `#` is a comment and a leading `!` a negation (the rule would
172
171
  * silently hide nothing), `[`, `]`, `*` and `?` are globs, and a backslash is
173
172
  * the escape itself. Each is escaped so the pattern names exactly the file.
173
+ * Read by the startup step that takes the platform's own rule for the guide
174
+ * OUT of an ignore file an earlier release wrote it into.
174
175
  */
175
176
  export declare function gitignoreLiteral(name: string): string;
176
- /**
177
- * The ONE sentence the platform offers to keep in a customer's own
178
- * `AGENTS.md`, pointing at the managed guide beside it.
179
- *
180
- * Defined here, once, because two surfaces must produce the identical text:
181
- * the deployment-settings field previews it before the admin consents, and the
182
- * startup step appends it. A sentence written twice is a sentence that drifts,
183
- * and a drifted one appends a SECOND copy to every customer file on the boot
184
- * after the drift — which is the one thing this whole feature exists to stop.
185
- *
186
- * A guide name is a FILE NAME, not an identifier: everything `validateFilename`
187
- * admits can appear in it — spaces, brackets, parentheses, `#`, `%` — and each
188
- * of those means something in an inline link. So the link is BUILT rather than
189
- * interpolated: the label backslash-escaped ({@link markdownLinkLabel}), the
190
- * destination percent-encoded ({@link agentsFileLinkPath}). A name that only
191
- * parenthesised would break the destination; `#` would turn the rest of the
192
- * name into a URL fragment, and the link would point at the customer's own
193
- * file.
194
- *
195
- * Neither spelling need match the name as it is on disk, so nothing may ask
196
- * whether this sentence is present by searching for the RAW name — see
197
- * {@link mentionsAgentsFile}, which is how the startup step asks.
198
- */
199
- export declare function agentsFilePointerSentence(agentsFile: string): string;
200
- /**
201
- * `text` with every pointer sentence THE PLATFORM WROTE aimed at `agentsFile`
202
- * — or null when it holds none of ours.
203
- *
204
- * This is what a SECOND rename needs. The guide's name is a setting an admin
205
- * may change again: a knowledge base whose `AGENTS.md` was given a sentence
206
- * pointing at `HEXIS.md` and is then renamed to `GUIDE.md` must have that
207
- * sentence aimed at the new file, not a second one appended beneath a first
208
- * that now points at nothing. Asking only whether the NEW name is mentioned
209
- * cannot see that — the old sentence does not mention it.
210
- *
211
- * Returning the text unchanged (rather than null) when the sentence is already
212
- * right is deliberate: "ours and correct" and "not ours at all" are different
213
- * answers, and only the caller knows that the second one means "consider
214
- * appending".
215
- */
216
- export declare function retargetAgentsFilePointer(text: string, agentsFile: string): string | null;
217
- /**
218
- * Whether `text` already points at the guide — the ONE question the startup
219
- * step asks before appending {@link agentsFilePointerSentence} to a customer's
220
- * own `AGENTS.md`.
221
- *
222
- * The plain name is the answer that matters: a mention in the customer's own
223
- * words, a heading, a link they wrote, all count, and the platform stays out
224
- * of a file it does not own. The other two spellings are the platform's OWN,
225
- * and they are here for idempotence: the sentence writes the name escaped in
226
- * the label and encoded in the destination, so on a punctuated name the file
227
- * the last boot wrote need not contain the raw name at all. Asking only for
228
- * that one would append a second copy on the next boot, and a third on the
229
- * one after — the exact failure this feature exists to prevent.
230
- */
231
- export declare function mentionsAgentsFile(text: string, agentsFile: string): boolean;
232
177
  /**
233
178
  * What is wrong with one root name, or null. A root is joined onto the repo
234
179
  * root and onto `<dir>/.gitkeep`, so a separator or `..` would write outside
@@ -237,22 +182,16 @@ export declare function mentionsAgentsFile(text: string, agentsFile: string): bo
237
182
  */
238
183
  export declare function validateKbRootName(name: string): string | null;
239
184
  /**
240
- * What is wrong with the agent guide's file name, or null.
241
- *
242
- * The rules, and what each one is for:
243
- *
244
- * - ONE FILE NAME. The name is joined onto the repository root and read from
245
- * there and nowhere else, so a separator would name a file the platform
246
- * would write but never read back.
247
- * - A MARKDOWN NAME. The guide is a markdown document that people open in the
248
- * app and agents read as text; `.md` is also what the per-file access rules
249
- * apply to, so a guide under any other extension would take its folder's
250
- * rules and stop being readable by everyone.
251
- * - NOT `CLAUDE.md`. That is the guide's own pre-rename name; knowledge bases
252
- * seeded before the rename still carry one, and it stays legacy content
253
- * rather than becoming a second managed file.
254
- * - NOT ANOTHER PLATFORM FILE. Two platform roles on one path means whichever
255
- * writer runs last wins, silently.
185
+ * What is wrong with the agent guide's name, or null. The rules date from when
186
+ * the guide was written to disk under this name; a saved name still has to be
187
+ * one the read tools can answer to, so they stand:
188
+ *
189
+ * - ONE FILE NAME. The name is read at the repository root and nowhere else.
190
+ * - A MARKDOWN NAME. The guide is markdown that agents read as text.
191
+ * - NOT `CLAUDE.md`. That is the guide's own pre-rename name; a knowledge
192
+ * base seeded before the rename may still carry one of its own.
193
+ * - NOT ANOTHER PLATFORM FILE. A read of `access.md` must answer with the
194
+ * access rules, not the guide.
256
195
  * - NOT A ROOT FOLDER'S NAME, compared case-insensitively like the roots are
257
196
  * to each other: the workspaces live on case-insensitive filesystems, where
258
197
  * a file `Docs.md` and a folder `docs.md` are one entry.
@@ -315,13 +254,13 @@ export declare function currentKbLayout(): Required<KbLayout>;
315
254
  */
316
255
  export declare function isDefaultKbLayout(layout: KbLayout): boolean;
317
256
  /**
318
- * Render the layout placeholders a managed template carries —
257
+ * Render the layout placeholders a managed text carries —
319
258
  * `{{knowledgeBaseDir}}`, `{{skillsDir}}`, `{{pluginsDir}}`, `{{agentsFile}}`
320
- * — with the names in effect. The packaged guide and `.bevelignore` are
321
- * written this way so a deployment that renamed its roots hands the agent a
322
- * guide that names the folders it will actually find, and a deployment that
323
- * renamed the guide gets a guide naming the file it lives in. Text without
324
- * placeholders passes through unchanged.
259
+ * — with the names in effect. The agent guide's sections and the packaged
260
+ * `.bevelignore` are written this way so a deployment that renamed its roots
261
+ * hands the agent a guide that names the folders it will actually find, and
262
+ * one that gave the guide a name of its own gets a guide naming it. Text
263
+ * without placeholders passes through unchanged.
325
264
  */
326
265
  export declare function renderKbLayoutPlaceholders(text: string, layout: KbLayout): string;
327
266
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"kb-layout.d.ts","sourceRoot":"","sources":["../../src/workspace/kb-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb-layout.d.ts","sourceRoot":"","sources":["../../src/workspace/kb-layout.ts"],"names":[],"mappings":"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"}
@@ -106,41 +106,40 @@ export let SKILLS_DIR = 'Skills';
106
106
  */
107
107
  export let PLUGINS_DIR = 'Plugins';
108
108
  /**
109
- * The file name of the platform's MANAGED agent guide at the repository root —
110
- * the document every connected agent is told to read first, written and
111
- * refreshed from the packaged template on every start.
112
- *
113
- * Configurable for one reason: `AGENTS.md` is the name coding agents look for
114
- * by convention, so a customer arriving with a repository of their own very
115
- * often already HAS one, and under the default name the platform would
116
- * overwrite it on the first boot and on every boot after. Renaming the managed
117
- * guide (`HEXIS.md`, say) hands that name back: `AGENTS.md` becomes ordinary
118
- * content the platform never writes, never refreshes and never hides, and the
119
- * customer's file is the one that points at ours (see
120
- * {@link agentsFilePointerSentence}).
121
- *
122
- * A live binding like the three roots above — read it inside a function body,
123
- * never capture it at module scope.
109
+ * The name the platform's agent guide is READ BY at the repository root — the
110
+ * document every connected agent is told to read first.
111
+ *
112
+ * The guide is no longer a file: the backend composes it from text the code
113
+ * owns and serves it through `get_agent_guide` and through a `read_file` of
114
+ * this name (see core-backend's `modules/agent-guide`), after the knowledge
115
+ * base's own file of that name when it has one. ONE name on every
116
+ * deployment: the setting that let a deployment rename the written guide is
117
+ * gone, and the settings layer no longer reads a value it saved — the layout
118
+ * it produces carries this name. The field stays on the layout for the shape
119
+ * every consumer reads, and the helpers here (`agentsFileOf`,
120
+ * `configureKbLayout`) still apply whatever a caller puts in it, so the one
121
+ * name is the producer's doing, not this module's.
124
122
  */
125
123
  export let AGENTS_FILE = 'AGENTS.md';
126
124
  /**
127
- * The name the managed guide had when it was the only name it could have.
125
+ * The name the guide had when it was the only name it could have, and the
126
+ * name it is always read by now.
128
127
  *
129
128
  * Referenced ONLY by the code that has to tell OUR file from THEIRS — the
130
- * boot-time removal of a platform-written `AGENTS.md`, the ignore rule that
131
- * stops hiding it, the instruction telling an agent to read the customer's
132
- * file too. In the spirit of {@link LEGACY_GROUPS_DIR}: a second live spelling
129
+ * boot-time removal of the guide copies earlier releases wrote, the ignore
130
+ * rule that stops hiding them, the instruction telling an agent what to read
131
+ * first. In the spirit of {@link LEGACY_GROUPS_DIR}: a second live spelling
133
132
  * of the CURRENT name is how two layouts start being supported by accident, so
134
133
  * this one is a constant and means exactly one thing.
135
134
  */
136
135
  export const LEGACY_AGENTS_FILE = 'AGENTS.md';
137
136
  /**
138
137
  * The platform files whose names are FIXED — the ones no deployment renames.
139
- * The guide is the fourth platform file and is deliberately absent here: its
140
- * name is {@link AGENTS_FILE}, and `platform-files.ts` composes the two into
141
- * the set every gate reads.
138
+ * The guide is NOT a platform file: nothing is written under its name, so a
139
+ * root `AGENTS.md` (or whatever the deployment once called the guide) is the
140
+ * organisation's own conventions page, movable and deletable like any other.
142
141
  *
143
- * It lives in this module rather than beside that composition because the
142
+ * It lives in this module rather than beside `platform-files.ts` because the
144
143
  * LAYOUT has to validate against it (a guide may not be called `access.md`),
145
144
  * and `platform-files.ts` already reads this module — the other direction
146
145
  * would be a cycle.
@@ -167,124 +166,12 @@ export function agentsFileOf(layout) {
167
166
  * a leading `#` is a comment and a leading `!` a negation (the rule would
168
167
  * silently hide nothing), `[`, `]`, `*` and `?` are globs, and a backslash is
169
168
  * the escape itself. Each is escaped so the pattern names exactly the file.
169
+ * Read by the startup step that takes the platform's own rule for the guide
170
+ * OUT of an ignore file an earlier release wrote it into.
170
171
  */
171
172
  export function gitignoreLiteral(name) {
172
173
  return name.replace(/[[\]*?\\]/g, '\\$&').replace(/^([#!])/, '\\$1');
173
174
  }
174
- /**
175
- * The ONE sentence the platform offers to keep in a customer's own
176
- * `AGENTS.md`, pointing at the managed guide beside it.
177
- *
178
- * Defined here, once, because two surfaces must produce the identical text:
179
- * the deployment-settings field previews it before the admin consents, and the
180
- * startup step appends it. A sentence written twice is a sentence that drifts,
181
- * and a drifted one appends a SECOND copy to every customer file on the boot
182
- * after the drift — which is the one thing this whole feature exists to stop.
183
- *
184
- * A guide name is a FILE NAME, not an identifier: everything `validateFilename`
185
- * admits can appear in it — spaces, brackets, parentheses, `#`, `%` — and each
186
- * of those means something in an inline link. So the link is BUILT rather than
187
- * interpolated: the label backslash-escaped ({@link markdownLinkLabel}), the
188
- * destination percent-encoded ({@link agentsFileLinkPath}). A name that only
189
- * parenthesised would break the destination; `#` would turn the rest of the
190
- * name into a URL fragment, and the link would point at the customer's own
191
- * file.
192
- *
193
- * Neither spelling need match the name as it is on disk, so nothing may ask
194
- * whether this sentence is present by searching for the RAW name — see
195
- * {@link mentionsAgentsFile}, which is how the startup step asks.
196
- */
197
- export function agentsFilePointerSentence(agentsFile) {
198
- return `Read [${markdownLinkLabel(agentsFile)}](${agentsFileLinkPath(agentsFile)})${POINTER_SENTENCE_TAIL}`;
199
- }
200
- /**
201
- * Everything of the sentence that does NOT depend on the guide's name — split
202
- * out so the one definition above can also be RECOGNISED, by the pattern below,
203
- * when the name it was written with is no longer the name in effect.
204
- */
205
- const POINTER_SENTENCE_TAIL = " before working in this knowledge base — it is the platform's guide to its layout, files and rules.";
206
- /**
207
- * A pointer sentence the platform wrote, naming ANY guide.
208
- *
209
- * The label admits a backslash escape (`\[`, `\]`) because that is what
210
- * {@link markdownLinkLabel} puts there; the destination cannot contain a `)`
211
- * or a newline because {@link agentsFileLinkPath} encodes both. Anchored at
212
- * both ends by text the platform fixed, so the shape is the provenance —
213
- * a customer would have to reproduce our sentence word for word to be taken
214
- * for us, which is the same bar the managed-guide header sets.
215
- */
216
- const POINTER_SENTENCE_PATTERN = new RegExp(`Read \\[(?:[^\\]\\n\\\\]|\\\\[\\s\\S])*\\]\\(\\.\\/[^)\\n]*\\)${escapeRegExp(POINTER_SENTENCE_TAIL)}`, 'g');
217
- /** `text` as a literal inside a regular expression. */
218
- function escapeRegExp(text) {
219
- return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
220
- }
221
- /**
222
- * `text` with every pointer sentence THE PLATFORM WROTE aimed at `agentsFile`
223
- * — or null when it holds none of ours.
224
- *
225
- * This is what a SECOND rename needs. The guide's name is a setting an admin
226
- * may change again: a knowledge base whose `AGENTS.md` was given a sentence
227
- * pointing at `HEXIS.md` and is then renamed to `GUIDE.md` must have that
228
- * sentence aimed at the new file, not a second one appended beneath a first
229
- * that now points at nothing. Asking only whether the NEW name is mentioned
230
- * cannot see that — the old sentence does not mention it.
231
- *
232
- * Returning the text unchanged (rather than null) when the sentence is already
233
- * right is deliberate: "ours and correct" and "not ours at all" are different
234
- * answers, and only the caller knows that the second one means "consider
235
- * appending".
236
- */
237
- export function retargetAgentsFilePointer(text, agentsFile) {
238
- let found = false;
239
- const wanted = agentsFilePointerSentence(agentsFile);
240
- const updated = text.replace(POINTER_SENTENCE_PATTERN, () => {
241
- found = true;
242
- return wanted;
243
- });
244
- return found ? updated : null;
245
- }
246
- /**
247
- * `text` as an inline link's LABEL: the characters that would end the label or
248
- * start emphasis or code inside it, backslash-escaped. Nothing else is touched
249
- * — a filename is read by people, and `AGENTS\.md` helps no one.
250
- */
251
- function markdownLinkLabel(text) {
252
- return text.replace(/[\\[\]`*_]/g, (c) => `\\${c}`);
253
- }
254
- /**
255
- * The guide as an inline link's DESTINATION: `./` and the name, percent-encoded.
256
- *
257
- * `encodeURI` does most of it (a space, a bracket, and `%` itself, so an
258
- * already-encoded-looking name is not decoded by a reader). Three more are
259
- * encoded by hand because `encodeURI` leaves them and each one ENDS the path
260
- * early: `#` opens a fragment, and `(`/`)` close the destination in
261
- * CommonMark's bare form. `?` and the rest of the URL-significant set are
262
- * already refused by {@link validateFilename}.
263
- *
264
- * An ordinary name has none of these and comes out exactly as it went in.
265
- */
266
- function agentsFileLinkPath(agentsFile) {
267
- return `./${encodeURI(agentsFile).replace(/[#()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)}`;
268
- }
269
- /**
270
- * Whether `text` already points at the guide — the ONE question the startup
271
- * step asks before appending {@link agentsFilePointerSentence} to a customer's
272
- * own `AGENTS.md`.
273
- *
274
- * The plain name is the answer that matters: a mention in the customer's own
275
- * words, a heading, a link they wrote, all count, and the platform stays out
276
- * of a file it does not own. The other two spellings are the platform's OWN,
277
- * and they are here for idempotence: the sentence writes the name escaped in
278
- * the label and encoded in the destination, so on a punctuated name the file
279
- * the last boot wrote need not contain the raw name at all. Asking only for
280
- * that one would append a second copy on the next boot, and a third on the
281
- * one after — the exact failure this feature exists to prevent.
282
- */
283
- export function mentionsAgentsFile(text, agentsFile) {
284
- return (text.includes(agentsFile) ||
285
- text.includes(markdownLinkLabel(agentsFile)) ||
286
- text.includes(agentsFileLinkPath(agentsFile)));
287
- }
288
175
  /**
289
176
  * What is wrong with one root name, or null. A root is joined onto the repo
290
177
  * root and onto `<dir>/.gitkeep`, so a separator or `..` would write outside
@@ -309,22 +196,16 @@ export function validateKbRootName(name) {
309
196
  return null;
310
197
  }
311
198
  /**
312
- * What is wrong with the agent guide's file name, or null.
313
- *
314
- * The rules, and what each one is for:
315
- *
316
- * - ONE FILE NAME. The name is joined onto the repository root and read from
317
- * there and nowhere else, so a separator would name a file the platform
318
- * would write but never read back.
319
- * - A MARKDOWN NAME. The guide is a markdown document that people open in the
320
- * app and agents read as text; `.md` is also what the per-file access rules
321
- * apply to, so a guide under any other extension would take its folder's
322
- * rules and stop being readable by everyone.
323
- * - NOT `CLAUDE.md`. That is the guide's own pre-rename name; knowledge bases
324
- * seeded before the rename still carry one, and it stays legacy content
325
- * rather than becoming a second managed file.
326
- * - NOT ANOTHER PLATFORM FILE. Two platform roles on one path means whichever
327
- * writer runs last wins, silently.
199
+ * What is wrong with the agent guide's name, or null. The rules date from when
200
+ * the guide was written to disk under this name; a saved name still has to be
201
+ * one the read tools can answer to, so they stand:
202
+ *
203
+ * - ONE FILE NAME. The name is read at the repository root and nowhere else.
204
+ * - A MARKDOWN NAME. The guide is markdown that agents read as text.
205
+ * - NOT `CLAUDE.md`. That is the guide's own pre-rename name; a knowledge
206
+ * base seeded before the rename may still carry one of its own.
207
+ * - NOT ANOTHER PLATFORM FILE. A read of `access.md` must answer with the
208
+ * access rules, not the guide.
328
209
  * - NOT A ROOT FOLDER'S NAME, compared case-insensitively like the roots are
329
210
  * to each other: the workspaces live on case-insensitive filesystems, where
330
211
  * a file `Docs.md` and a folder `docs.md` are one entry.
@@ -485,13 +366,13 @@ export function isDefaultKbLayout(layout) {
485
366
  agentsFileOf(layout) === DEFAULT_KB_LAYOUT.agentsFile);
486
367
  }
487
368
  /**
488
- * Render the layout placeholders a managed template carries —
369
+ * Render the layout placeholders a managed text carries —
489
370
  * `{{knowledgeBaseDir}}`, `{{skillsDir}}`, `{{pluginsDir}}`, `{{agentsFile}}`
490
- * — with the names in effect. The packaged guide and `.bevelignore` are
491
- * written this way so a deployment that renamed its roots hands the agent a
492
- * guide that names the folders it will actually find, and a deployment that
493
- * renamed the guide gets a guide naming the file it lives in. Text without
494
- * placeholders passes through unchanged.
371
+ * — with the names in effect. The agent guide's sections and the packaged
372
+ * `.bevelignore` are written this way so a deployment that renamed its roots
373
+ * hands the agent a guide that names the folders it will actually find, and
374
+ * one that gave the guide a name of its own gets a guide naming it. Text
375
+ * without placeholders passes through unchanged.
495
376
  */
496
377
  export function renderKbLayoutPlaceholders(text, layout) {
497
378
  // Replacer FUNCTIONS: a string replacement would interpret `$&`, `$$` and
@@ -1 +1 @@
1
- {"version":3,"file":"kb-layout.js","sourceRoot":"","sources":["../../src/workspace/kb-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kb-layout.js","sourceRoot":"","sources":["../../src/workspace/kb-layout.ts"],"names":[],"mappings":"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"}