@ryuenn3123/agentic-senior-core 3.0.31 → 3.0.33

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.
@@ -18,6 +18,7 @@ The agent must:
18
18
  5. Treat prior-chat visuals, unrelated project memory, benchmark screenshots, and famous-product aesthetics as tainted context unless the user explicitly asks for continuity.
19
19
  6. When choosing a new UI, animation, styling, or component library, research current official docs and choose the latest stable compatible option for this project. Do not rely on offline defaults.
20
20
  7. Keep external references non-copying: extract constraints and reasoning only, never clone the surface.
21
+ 8. Record a Motion/Palette Decision before UI implementation; product categories are heuristics, not style presets, so override them with task, content density, brand intent, device/performance, and accessibility evidence.
21
22
 
22
23
  ## Creative Commitment Gate
23
24
 
@@ -100,6 +101,7 @@ Do:
100
101
  - Synthesize a visual direction from the project context and explain why it fits.
101
102
  - Choose color, typography, spacing, motion, density, and component morphology dynamically from the product and audience.
102
103
  - Use modern, expressive interaction and motion as part of the core design language, especially when it improves hierarchy, feedback, delight, confidence, or memorability.
104
+ - Use 3D or spatial/canvas experiences as primary UI only when they improve product understanding or exploration while preserving navigation, content clarity, user actions, performance, accessibility, and non-3D fallbacks.
103
105
  - Keep frontend code clean, componentized, accessible, and easy to maintain.
104
106
  - Use tokens and semantic aliases so future changes do not require rewriting components.
105
107
  - Make design decisions explicit before coding, then implement consistently.
@@ -110,6 +112,7 @@ Do not:
110
112
  - Let heading, body, data, and metadata collapse into one safe typographic treatment without rationale.
111
113
  - Reuse colors, layout shapes, or motion signatures from unrelated memory.
112
114
  - Add decorative animation that hurts clarity, accessibility, or runtime performance.
115
+ - Let 3D visuals hide navigation, replace readable content, block core actions, or require a powerful device before the product can be understood.
113
116
  - Choose a dependency because this repo scaffold mentioned it. The LLM must verify fit from current project context and official docs.
114
117
 
115
118
  ## Responsive Rule
@@ -142,6 +145,7 @@ For every UI task, define how major surfaces change across mobile, tablet, and d
142
145
  The JSON must stay machine-readable and project-specific. It should record:
143
146
  - the confirmed project context and assumptions to validate
144
147
  - agent-chosen visual direction, not scaffold-chosen direction
148
+ - `motionPaletteDecision` with motion density source, required interaction states, palette autopilot risk, and whether 3D/canvas is useful or unnecessary
145
149
  - `conceptualAnchor` and how typography, spacing, morphology, motion, and responsive composition derive from it when no external research was provided
146
150
  - `derivedTokenLogic` with exact `anchorReference` traceability for color, spacing, typography, and motion tokens
147
151
  - `libraryResearchStatus` plus `libraryDecisions[]` with verified source metadata or explicit native/project-local fallbacks
@@ -5,6 +5,7 @@ Run this before declaring a task done. Apply only the sections relevant to the c
5
5
  ## 1. Repo Context
6
6
 
7
7
  - [ ] The agent read `AGENTS.md` and the smallest relevant rule set.
8
+ - [ ] For non-trivial coding, review, planning, or governance work, the agent produced a Bootstrap Receipt with loaded files, selected rules, skipped rules, unreachable files, and validation plan before implementation output.
8
9
  - [ ] Existing project context came from real files, docs, package metadata, and changed code, not folder name alone.
9
10
  - [ ] Runtime, framework, library, topology, and design choices are explicit user constraints or agent recommendations from current evidence.
10
11
  - [ ] No offline default stack, blueprint, vendor, or visual style was treated as authoritative.
@@ -71,6 +72,7 @@ Run this before declaring a task done. Apply only the sections relevant to the c
71
72
 
72
73
  - [ ] UI work follows `docs/DESIGN.md` and `docs/design-intent.json`.
73
74
  - [ ] Visual direction is project-specific and not a template/default component-kit habit.
75
+ - [ ] UI work includes a Motion/Palette Decision, and product categories were treated as heuristics rather than style presets.
74
76
  - [ ] Responsive behavior recomposes content and priority, not only shrinking desktop layout.
75
77
  - [ ] Accessibility hard requirements are preserved: keyboard access, focus visibility, contrast, target size, status feedback, and no color-only meaning.
76
78
  - [ ] Motion is treated as part of the design language for modern UI work, with reduced-motion and performance safeguards instead of defaulting to static screens.
@@ -69,6 +69,23 @@ Do not use this file to teach generic frontend basics the model already knows.
69
69
  - If live research is unavailable, mark `libraryResearchStatus` as `pending-verification`, record the library as `LIBRARY_TO_VERIFY`, and use native CSS, browser APIs, or already-present project dependencies until verification is possible.
70
70
  - Each `libraryDecisions[]` entry must have either verification metadata or a concrete `fallbackIfUnavailable`.
71
71
 
72
+ ## Contextual Motion and Palette Intelligence
73
+
74
+ - Product categories are heuristics, not style presets. Use them only as a starting signal, then choose motion density from user task, content density, brand intent, device/performance budget, and accessibility needs.
75
+ - If the category is unclear, infer from the dominant task: reading, scanning, form completion, data comparison, product inspection, storytelling, learning, play, or spatial exploration.
76
+ - For interactive UI, map the required states before coding: default, hover, focus-visible, active/pressed, disabled, loading, empty, error, success, and transition.
77
+ - Do not default to dark slate, cream/beige/tan, purple-blue gradients, monochrome palettes, or uniform card surfaces unless current project evidence supports them. If one of those palettes is used, document why it fits and add enough role contrast that the UI does not read as a template.
78
+ - Use the existing motion stack first. Add animation, 3D, canvas, or scroll dependencies only when they materially improve delivery speed, interaction quality, maintainability, or product understanding.
79
+ - Motion should be absent only for a named reason: repeated high-frequency workflow, long-form reading focus, data-density scanning, reduced-motion need, or performance constraint.
80
+
81
+ ## Spatial and 3D Experience Boundary
82
+
83
+ - 3D, WebGL, canvas, and immersive spatial interfaces are allowed as the primary experience when they clarify the product, strengthen the chosen anchor, or make exploration meaningfully better than a flat UI.
84
+ - 3D must not take over the jobs of navigation, content comprehension, or decisive user actions. Core routes, text, forms, and calls to action must remain discoverable, accessible, and usable without solving the scene.
85
+ - Treat 3D as interaction architecture, not decoration. If it is only a modern-looking background or visual stunt, reduce it to a supporting accent or remove it.
86
+ - Define performance and accessibility fallbacks before implementation: reduced motion, keyboard reachable controls, readable non-canvas content, mobile budgets, loading states, and a graceful non-3D path when rendering fails.
87
+ - When 3D is central, document its product role, interaction model, fallback path, and library/runtime decision in `docs/DESIGN.md` and `docs/design-intent.json` before coding.
88
+
72
89
  ## Responsive Mutation Requirements
73
90
 
74
91
  - Responsive quality is not allowed to be scale-only. At least one surface must materially change position, grouping, priority, or disclosure strategy between mobile and desktop.
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-04-26T02:26:19.926Z",
2
+ "generatedAt": "2026-04-26T22:56:14.192Z",
3
3
  "reportName": "memory-continuity-benchmark",
4
4
  "schemaVersion": "1.0.0",
5
5
  "passed": true,
package/.cursorrules CHANGED
@@ -1,6 +1,6 @@
1
1
  # AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
2
2
 
3
- Generated by Agentic-Senior-Core CLI v3.0.31
3
+ Generated by Agentic-Senior-Core CLI v3.0.33
4
4
  Timestamp: 2026-04-24T06:02:48.303Z
5
5
  Selected policy file: .agent-context/policies/llm-judge-threshold.json
6
6
 
@@ -2,13 +2,14 @@
2
2
 
3
3
  Adapter Mode: thin
4
4
  Adapter Source: .instructions.md
5
- Canonical Snapshot SHA256: c2aef70028abc43f5e3f110a2fa90086cd6697bac42ec97a8d4db3c4477880d4
5
+ Canonical Snapshot SHA256: a49781782fac817a8a979e7937563b67826fd088af160a12cf84bdab4d038624
6
6
 
7
7
  Canonical policy source: [.instructions.md](../.instructions.md).
8
8
 
9
9
  If your host stops at this file, follow this minimum floor:
10
10
  - Read `.agent-instructions.md` next when it exists.
11
11
  - For UI or redesign requests, load [.agent-context/prompts/bootstrap-design.md](../.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](../.agent-context/rules/frontend-architecture.md) before coding.
12
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
12
13
  - If UI scope and `docs/DESIGN.md` or `docs/design-intent.json` is missing, materialize them before UI implementation.
13
14
  - For backend/API/data/auth/event requests, load relevant global rules from [.agent-context/rules/](../.agent-context/rules) and do not create stack-specific governance adapters.
14
15
  - Memory continuity is host-dependent project memory and does not replace bootstrap loading.
@@ -23,6 +24,10 @@ If your host stops at this file, follow this minimum floor:
23
24
  6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and policy thresholds from [.agent-context/policies/](../.agent-context/policies).
24
25
  7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
25
26
 
27
+ ## Bootstrap Receipt
28
+
29
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: `loaded_files`, `selected_rules`, `skipped_rules`, `unreachable_files`, and `validation_plan`.
30
+
26
31
  ## Completion Gate
27
32
 
28
33
  Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring completion.
@@ -2,13 +2,14 @@
2
2
 
3
3
  Adapter Mode: thin
4
4
  Adapter Source: .instructions.md
5
- Canonical Snapshot SHA256: c2aef70028abc43f5e3f110a2fa90086cd6697bac42ec97a8d4db3c4477880d4
5
+ Canonical Snapshot SHA256: a49781782fac817a8a979e7937563b67826fd088af160a12cf84bdab4d038624
6
6
 
7
7
  The canonical policy source for this repository is [.instructions.md](../.instructions.md).
8
8
 
9
9
  If your host stops at this file, follow this minimum floor:
10
10
  - Read `.agent-instructions.md` next when it exists.
11
11
  - For UI or redesign requests, load [.agent-context/prompts/bootstrap-design.md](../.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](../.agent-context/rules/frontend-architecture.md) before coding.
12
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
12
13
  - If UI scope and `docs/DESIGN.md` or `docs/design-intent.json` is missing, materialize them before UI implementation.
13
14
  - For backend/API/data/auth/event requests, load relevant global rules from [.agent-context/rules/](../.agent-context/rules) and do not create stack-specific governance adapters.
14
15
  - Memory continuity is host-dependent project memory and does not replace bootstrap loading.
@@ -23,6 +24,10 @@ If your host stops at this file, follow this minimum floor:
23
24
  6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and thresholds from [.agent-context/policies/](../.agent-context/policies).
24
25
  7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
25
26
 
27
+ ## Bootstrap Receipt
28
+
29
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: `loaded_files`, `selected_rules`, `skipped_rules`, `unreachable_files`, and `validation_plan`.
30
+
26
31
  ## Completion Gate
27
32
 
28
33
  Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring work complete.
package/.instructions.md CHANGED
@@ -16,6 +16,27 @@ You use clear, plain language in formal artifacts and do not use emoji.
16
16
 
17
17
  Resolve the smallest relevant layer set for the current request. Do not load every layer by default when the task is narrow.
18
18
 
19
+ ### Bootstrap Receipt
20
+
21
+ For non-trivial coding, review, planning, or governance work, produce a concise bootstrap receipt before implementation output or file edits. The receipt is evidence of rule loading, not a request to expose hidden reasoning.
22
+
23
+ Required fields:
24
+ - `loaded_files`: entrypoint, canonical source, and project files actually read.
25
+ - `selected_rules`: rule, prompt, checklist, state, or policy files selected for the current scope, with a short trigger.
26
+ - `skipped_rules`: categories intentionally left unloaded because they are out of scope.
27
+ - `unreachable_files`: required files that could not be read; stop instead of guessing when this list is non-empty.
28
+ - `validation_plan`: commands or checks expected before completion.
29
+
30
+ Keep the receipt short. Do not load every rule just to fill it out; scoped loading remains mandatory.
31
+
32
+ ### Output and Command Economy
33
+
34
+ Avoid repeated command output. Do not rerun the same broad inspection command unless new edits changed its result. Prefer targeted reads, targeted searches, concise diffs, and final validation gates; summarize long logs instead of copying full command output into the response.
35
+
36
+ ### UI Motion and Palette Readability Floor
37
+
38
+ For any UI-facing request, `bootstrap-design.md` and `frontend-architecture.md` must appear in `selected_rules` before UI code edits. The plan or receipt must include a one-line Motion/Palette Decision: motion density source, required interaction states, palette autopilot risk, and whether 3D/canvas is useful or unnecessary. Product categories are heuristics, not style presets; override them with user task, content density, brand intent, device/performance, and accessibility evidence.
39
+
19
40
  ### Layer 1: Rules (15 Files) [SCOPE-RESOLVED]
20
41
 
21
42
  **Location**: `.agent-context/rules/`
@@ -184,10 +205,11 @@ Use available MCP tools when you need validation, linting, or test execution.
184
205
  1. Read `.agent-context/prompts/bootstrap-design.md`.
185
206
  2. Read `.agent-context/rules/frontend-architecture.md`.
186
207
  3. Read UI-relevant repository evidence from `.agent-context/state/onboarding-report.json`, current UI code, and `docs/*`.
187
- 4. Before UI implementation, record a concrete creative commitment in the design contract: one specific real-world anchor reference, one signature motion behavior, and one typographic decision with meaningful role contrast.
188
- 5. Ensure `docs/design-intent.json` includes `conceptualAnchor.anchorReference`, top-level `derivedTokenLogic`, `libraryResearchStatus`, and `libraryDecisions[]` before UI code.
189
- 6. Generate or refine `docs/DESIGN.md` plus `docs/design-intent.json` before UI implementation.
190
- 7. Keep context isolated and do not eagerly load unrelated backend-only rules unless the task explicitly touches those boundaries.
208
+ 4. Add a short Motion/Palette Decision before UI implementation; product categories are heuristics, not style presets.
209
+ 5. Before UI implementation, record a concrete creative commitment in the design contract: one specific real-world anchor reference, one signature motion behavior, and one typographic decision with meaningful role contrast.
210
+ 6. Ensure `docs/design-intent.json` includes `conceptualAnchor.anchorReference`, top-level `derivedTokenLogic`, `libraryResearchStatus`, `libraryDecisions[]`, and motion/palette decisions before UI code.
211
+ 7. Generate or refine `docs/DESIGN.md` plus `docs/design-intent.json` before UI implementation.
212
+ 8. Keep context isolated and do not eagerly load unrelated backend-only rules unless the task explicitly touches those boundaries.
191
213
 
192
214
  ---
193
215
 
package/.windsurfrules CHANGED
@@ -1,6 +1,6 @@
1
1
  # AGENTIC-SENIOR-CORE DYNAMIC GOVERNANCE RULESET
2
2
 
3
- Generated by Agentic-Senior-Core CLI v3.0.31
3
+ Generated by Agentic-Senior-Core CLI v3.0.33
4
4
  Timestamp: 2026-04-24T06:02:48.303Z
5
5
  Selected policy file: .agent-context/policies/llm-judge-threshold.json
6
6
 
package/AGENTS.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Adapter Mode: thin
4
4
  Adapter Source: .instructions.md
5
- Canonical Snapshot SHA256: c2aef70028abc43f5e3f110a2fa90086cd6697bac42ec97a8d4db3c4477880d4
5
+ Canonical Snapshot SHA256: a49781782fac817a8a979e7937563b67826fd088af160a12cf84bdab4d038624
6
6
 
7
7
  This file is an adapter entrypoint for agent discovery.
8
8
  The canonical policy source is [.instructions.md](.instructions.md).
@@ -14,6 +14,7 @@ If your host stops at this file instead of following the full chain, obey the Cr
14
14
  - If `.agent-instructions.md` exists, prefer it immediately after this file because it is the compiled project-specific snapshot.
15
15
  - Memory continuity does not replace bootstrap loading. It is host-dependent project memory, not a guarantee that instructions were reloaded for this session.
16
16
  - For UI, UX, layout, screen, tailwind, frontend, or redesign requests: load [.agent-context/prompts/bootstrap-design.md](.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](.agent-context/rules/frontend-architecture.md) before editing code.
17
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
17
18
  - For UI scope: if `docs/DESIGN.md` or `docs/design-intent.json` is missing, materialize or refine them before implementing UI changes.
18
19
  - For backend, API, data, auth, error, event, queue, worker, or distributed-system requests: load the relevant global rules from [.agent-context/rules/](.agent-context/rules); do not create stack-specific governance adapters.
19
20
  - For refactor, improve, clean up, or fix requests: inspect the active rules and propose a plan before editing.
@@ -31,6 +32,10 @@ If your host stops at this file instead of following the full chain, obey the Cr
31
32
  7. Enforce policy thresholds from [.agent-context/policies/](.agent-context/policies).
32
33
  8. Use runtime evidence, structure, and live research signals from project context docs.
33
34
 
35
+ ## Bootstrap Receipt
36
+
37
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: `loaded_files`, `selected_rules`, `skipped_rules`, `unreachable_files`, and `validation_plan`.
38
+
34
39
  ## Trigger Rules
35
40
 
36
41
  - New project or module requests: propose scope, constraints, and required docs first, then wait for approval.
@@ -224,6 +224,13 @@ function buildDesignIntentContractObject({
224
224
  motionDerivationSource: 'Agent must explain how duration, easing, choreography, and reduced-motion alternatives derive from the chosen anchorReference.',
225
225
  validationRule: 'Every primitive, semantic, component, typography, spacing, and motion token must trace back to anchorReference; if a token cannot be explained from the anchor, revise the token.',
226
226
  },
227
+ motionPaletteDecision: {
228
+ productCategorySignal: 'agent-inferred-starting-heuristic',
229
+ densityDecisionSource: 'Agent must choose motion density from task, content density, brand intent, device/performance, and accessibility evidence; product categories are heuristics, not style presets.',
230
+ requiredInteractionStates: ['default', 'hover', 'focus-visible', 'active', 'disabled', 'loading', 'empty', 'error', 'success', 'transition'],
231
+ paletteAutopilotRisks: ['dark-slate-default', 'cream-beige-default', 'purple-blue-gradient-default', 'monochrome-template-default', 'uniform-card-surface-default'],
232
+ spatialDecision: 'Agent must state whether 3D/canvas/WebGL is useful or unnecessary for product understanding, exploration, or storytelling.',
233
+ },
227
234
  libraryResearchStatus: 'pending-verification',
228
235
  libraryDecisions: [
229
236
  {
@@ -270,6 +277,7 @@ function buildDesignIntentContractObject({
270
277
  rolePolicy: 'minimum-semantic-scaffold',
271
278
  rolesAreMinimumScaffold: true,
272
279
  rolesMustBeAgentDefined: true,
280
+ forbidAutopilotPalettesWithoutEvidence: true,
273
281
  intent: inferredKeywords.colorIntent,
274
282
  },
275
283
  crossViewportAdaptation: {
@@ -281,13 +289,14 @@ function buildDesignIntentContractObject({
281
289
  allowMeaningfulMotion: true,
282
290
  purpose: inferredKeywords.motionPurpose,
283
291
  seedToneLocked: false,
292
+ densitySource: 'task-content-brand-device-accessibility',
284
293
  respectReducedMotion: true,
285
294
  },
286
295
  componentMorphology: {
287
296
  requireStateBehaviorMatrix: true,
288
297
  preserveIdentityAcrossViewports: true,
289
298
  seedBehaviorsRequireRefinement: true,
290
- stateKeys: ['default', 'focus', 'loading', 'error'],
299
+ stateKeys: ['default', 'hover', 'focus-visible', 'active', 'disabled', 'loading', 'empty', 'error', 'success', 'transition'],
291
300
  viewportBehavior: inferredKeywords.componentMorphology,
292
301
  },
293
302
  accessibilityPolicy: {
package/lib/cli/utils.mjs CHANGED
@@ -179,6 +179,14 @@ function isPathWithinPrefix(relativePath, prefixPath) {
179
179
  || normalizedRelativePath.startsWith(`${normalizedPrefixPath}/`);
180
180
  }
181
181
 
182
+ const localOnlyGovernanceFiles = new Set([
183
+ '.agent-context/state/active-memory.json',
184
+ ]);
185
+
186
+ function isLocalOnlyGovernanceFile(relativePath) {
187
+ return localOnlyGovernanceFiles.has(toPosixRelativePath(relativePath));
188
+ }
189
+
182
190
  async function collectRelativeTreeEntries(baseDirectoryPath, relativeRootPath) {
183
191
  const files = [];
184
192
  const directories = [];
@@ -203,6 +211,10 @@ async function collectRelativeTreeEntries(baseDirectoryPath, relativeRootPath) {
203
211
  continue;
204
212
  }
205
213
 
214
+ if (isLocalOnlyGovernanceFile(relativeEntryPath)) {
215
+ continue;
216
+ }
217
+
206
218
  files.push(relativeEntryPath);
207
219
  }
208
220
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuenn3123/agentic-senior-core",
3
- "version": "3.0.31",
3
+ "version": "3.0.33",
4
4
  "type": "module",
5
5
  "description": "Force your AI Agent to code like a Staff Engineer, not a Junior.",
6
6
  "bin": {
@@ -43,6 +43,7 @@ If your host stops at this file instead of following the full chain, obey the Cr
43
43
  - If \`.agent-instructions.md\` exists, prefer it immediately after this file because it is the compiled project-specific snapshot.
44
44
  - Memory continuity does not replace bootstrap loading. It is host-dependent project memory, not a guarantee that instructions were reloaded for this session.
45
45
  - For UI, UX, layout, screen, tailwind, frontend, or redesign requests: load [.agent-context/prompts/bootstrap-design.md](.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](.agent-context/rules/frontend-architecture.md) before editing code.
46
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
46
47
  - For UI scope: if \`docs/DESIGN.md\` or \`docs/design-intent.json\` is missing, materialize or refine them before implementing UI changes.
47
48
  - For backend, API, data, auth, error, event, queue, worker, or distributed-system requests: load the relevant global rules from [.agent-context/rules/](.agent-context/rules); do not create stack-specific governance adapters.
48
49
  - For refactor, improve, clean up, or fix requests: inspect the active rules and propose a plan before editing.
@@ -60,6 +61,10 @@ If your host stops at this file instead of following the full chain, obey the Cr
60
61
  7. Enforce policy thresholds from [.agent-context/policies/](.agent-context/policies).
61
62
  8. Use runtime evidence, structure, and live research signals from project context docs.
62
63
 
64
+ ## Bootstrap Receipt
65
+
66
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: \`loaded_files\`, \`selected_rules\`, \`skipped_rules\`, \`unreachable_files\`, and \`validation_plan\`.
67
+
63
68
  ## Trigger Rules
64
69
 
65
70
  - New project or module requests: propose scope, constraints, and required docs first, then wait for approval.
@@ -82,6 +87,7 @@ The canonical policy source for this repository is [.instructions.md](../.instru
82
87
  If your host stops at this file, follow this minimum floor:
83
88
  - Read \`.agent-instructions.md\` next when it exists.
84
89
  - For UI or redesign requests, load [.agent-context/prompts/bootstrap-design.md](../.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](../.agent-context/rules/frontend-architecture.md) before coding.
90
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
85
91
  - If UI scope and \`docs/DESIGN.md\` or \`docs/design-intent.json\` is missing, materialize them before UI implementation.
86
92
  - For backend/API/data/auth/event requests, load relevant global rules from [.agent-context/rules/](../.agent-context/rules) and do not create stack-specific governance adapters.
87
93
  - Memory continuity is host-dependent project memory and does not replace bootstrap loading.
@@ -96,6 +102,10 @@ If your host stops at this file, follow this minimum floor:
96
102
  6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and thresholds from [.agent-context/policies/](../.agent-context/policies).
97
103
  7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
98
104
 
105
+ ## Bootstrap Receipt
106
+
107
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: \`loaded_files\`, \`selected_rules\`, \`skipped_rules\`, \`unreachable_files\`, and \`validation_plan\`.
108
+
99
109
  ## Completion Gate
100
110
 
101
111
  Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring work complete.
@@ -114,6 +124,7 @@ Canonical policy source: [.instructions.md](../.instructions.md).
114
124
  If your host stops at this file, follow this minimum floor:
115
125
  - Read \`.agent-instructions.md\` next when it exists.
116
126
  - For UI or redesign requests, load [.agent-context/prompts/bootstrap-design.md](../.agent-context/prompts/bootstrap-design.md) and [.agent-context/rules/frontend-architecture.md](../.agent-context/rules/frontend-architecture.md) before coding.
127
+ - For UI scope, include a one-line Motion/Palette Decision in the Bootstrap Receipt; product categories are heuristics, not style presets.
117
128
  - If UI scope and \`docs/DESIGN.md\` or \`docs/design-intent.json\` is missing, materialize them before UI implementation.
118
129
  - For backend/API/data/auth/event requests, load relevant global rules from [.agent-context/rules/](../.agent-context/rules) and do not create stack-specific governance adapters.
119
130
  - Memory continuity is host-dependent project memory and does not replace bootstrap loading.
@@ -128,6 +139,10 @@ If your host stops at this file, follow this minimum floor:
128
139
  6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and policy thresholds from [.agent-context/policies/](../.agent-context/policies).
129
140
  7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
130
141
 
142
+ ## Bootstrap Receipt
143
+
144
+ For non-trivial coding, review, planning, or governance work, produce a short Bootstrap Receipt before implementation output: \`loaded_files\`, \`selected_rules\`, \`skipped_rules\`, \`unreachable_files\`, and \`validation_plan\`.
145
+
131
146
  ## Completion Gate
132
147
 
133
148
  Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring completion.
@@ -265,6 +265,8 @@ export const REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS = [
265
265
  'docs/DESIGN.md',
266
266
  'docs/design-intent.json',
267
267
  'does not replace bootstrap loading',
268
+ 'Motion/Palette Decision',
269
+ 'product categories are heuristics',
268
270
  'perform live web research',
269
271
  ],
270
272
  },
@@ -275,6 +277,8 @@ export const REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS = [
275
277
  'UI Design Mode',
276
278
  'bootstrap-design.md',
277
279
  'frontend-architecture.md',
280
+ 'Motion/Palette Decision',
281
+ 'product categories are heuristics',
278
282
  'do not eagerly load unrelated backend-only rules',
279
283
  'valid style context',
280
284
  'External references, prior-chat memory, unrelated-project visuals, and remembered screenshots are tainted',
@@ -292,6 +296,8 @@ export const REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS = [
292
296
  'Responsive Recomposition Plan',
293
297
  'source of truth',
294
298
  'research current official docs',
299
+ 'motionPaletteDecision',
300
+ 'product categories are heuristics',
295
301
  'Responsive design means recomposition, not resizing.',
296
302
  'agent-chosen visual direction',
297
303
  'viewport mutation rules',
@@ -349,9 +355,12 @@ export const REQUIRED_UI_DESIGN_AUTOMATION_SNIPPETS = [
349
355
  'seedPolicy',
350
356
  'structure-first-scaffold',
351
357
  'colorTruth',
358
+ 'motionPaletteDecision',
359
+ 'forbidAutopilotPalettesWithoutEvidence',
352
360
  'rolesAreMinimumScaffold',
353
361
  'crossViewportAdaptation',
354
362
  'motionSystem',
363
+ 'densitySource',
355
364
  'seedToneLocked',
356
365
  'componentMorphology',
357
366
  'seedBehaviorsRequireRefinement',
@@ -384,6 +384,34 @@ export async function validateInstructionAdapters(context) {
384
384
 
385
385
  const canonicalInstructionContent = normalizeLineEndings(await readTextFile(CANONICAL_INSTRUCTION_PATH));
386
386
  const canonicalSnapshotHash = createHash('sha256').update(canonicalInstructionContent).digest('hex');
387
+ const requiredBootstrapReceiptSnippets = [
388
+ 'Bootstrap Receipt',
389
+ 'loaded_files',
390
+ 'selected_rules',
391
+ 'skipped_rules',
392
+ 'unreachable_files',
393
+ 'validation_plan',
394
+ ];
395
+ const requiredUiReadabilitySnippets = [
396
+ 'Motion/Palette Decision',
397
+ 'product categories are heuristics',
398
+ ];
399
+
400
+ for (const requiredBootstrapReceiptSnippet of requiredBootstrapReceiptSnippets) {
401
+ if (canonicalInstructionContent.includes(requiredBootstrapReceiptSnippet)) {
402
+ pass(`.instructions.md includes bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
403
+ } else {
404
+ fail(`.instructions.md is missing bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
405
+ }
406
+ }
407
+
408
+ for (const requiredUiReadabilitySnippet of requiredUiReadabilitySnippets) {
409
+ if (canonicalInstructionContent.includes(requiredUiReadabilitySnippet)) {
410
+ pass(`.instructions.md includes UI readability snippet: ${requiredUiReadabilitySnippet}`);
411
+ } else {
412
+ fail(`.instructions.md is missing UI readability snippet: ${requiredUiReadabilitySnippet}`);
413
+ }
414
+ }
387
415
 
388
416
  for (const thinAdapterPath of THIN_ADAPTER_PATHS) {
389
417
  const absoluteAdapterPath = join(ROOT_DIR, thinAdapterPath);
@@ -404,6 +432,22 @@ export async function validateInstructionAdapters(context) {
404
432
  fail(`${thinAdapterPath} must declare Adapter Mode: thin and Adapter Source: .instructions.md`);
405
433
  }
406
434
 
435
+ for (const requiredBootstrapReceiptSnippet of requiredBootstrapReceiptSnippets) {
436
+ if (thinAdapterContent.includes(requiredBootstrapReceiptSnippet)) {
437
+ pass(`${thinAdapterPath} includes bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
438
+ } else {
439
+ fail(`${thinAdapterPath} is missing bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
440
+ }
441
+ }
442
+
443
+ for (const requiredUiReadabilitySnippet of requiredUiReadabilitySnippets) {
444
+ if (thinAdapterContent.includes(requiredUiReadabilitySnippet)) {
445
+ pass(`${thinAdapterPath} includes UI readability snippet: ${requiredUiReadabilitySnippet}`);
446
+ } else {
447
+ fail(`${thinAdapterPath} is missing UI readability snippet: ${requiredUiReadabilitySnippet}`);
448
+ }
449
+ }
450
+
407
451
  const hashMatch = thinAdapterContent.match(/Canonical Snapshot SHA256:\s*([a-f0-9]{64})/);
408
452
  if (!hashMatch) {
409
453
  fail(`${thinAdapterPath} must declare Canonical Snapshot SHA256`);