@ryuenn3123/agentic-senior-core 3.0.31 → 3.0.32
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.
- package/.agent-context/prompts/bootstrap-design.md +2 -0
- package/.agent-context/review-checklists/pr-checklist.md +1 -0
- package/.agent-context/rules/frontend-architecture.md +8 -0
- package/.agent-context/state/memory-continuity-benchmark.json +1 -1
- package/.cursorrules +1 -1
- package/.gemini/instructions.md +5 -1
- package/.github/copilot-instructions.md +5 -1
- package/.instructions.md +13 -0
- package/.windsurfrules +1 -1
- package/AGENTS.md +5 -1
- package/lib/cli/utils.mjs +12 -0
- package/package.json +1 -1
- package/scripts/sync-thin-adapters.mjs +12 -0
- package/scripts/validate/coverage-checks.mjs +24 -0
|
@@ -100,6 +100,7 @@ Do:
|
|
|
100
100
|
- Synthesize a visual direction from the project context and explain why it fits.
|
|
101
101
|
- Choose color, typography, spacing, motion, density, and component morphology dynamically from the product and audience.
|
|
102
102
|
- Use modern, expressive interaction and motion as part of the core design language, especially when it improves hierarchy, feedback, delight, confidence, or memorability.
|
|
103
|
+
- 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
104
|
- Keep frontend code clean, componentized, accessible, and easy to maintain.
|
|
104
105
|
- Use tokens and semantic aliases so future changes do not require rewriting components.
|
|
105
106
|
- Make design decisions explicit before coding, then implement consistently.
|
|
@@ -110,6 +111,7 @@ Do not:
|
|
|
110
111
|
- Let heading, body, data, and metadata collapse into one safe typographic treatment without rationale.
|
|
111
112
|
- Reuse colors, layout shapes, or motion signatures from unrelated memory.
|
|
112
113
|
- Add decorative animation that hurts clarity, accessibility, or runtime performance.
|
|
114
|
+
- Let 3D visuals hide navigation, replace readable content, block core actions, or require a powerful device before the product can be understood.
|
|
113
115
|
- Choose a dependency because this repo scaffold mentioned it. The LLM must verify fit from current project context and official docs.
|
|
114
116
|
|
|
115
117
|
## Responsive Rule
|
|
@@ -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.
|
|
@@ -69,6 +69,14 @@ 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
|
+
## Spatial and 3D Experience Boundary
|
|
73
|
+
|
|
74
|
+
- 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.
|
|
75
|
+
- 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.
|
|
76
|
+
- 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.
|
|
77
|
+
- 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.
|
|
78
|
+
- 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.
|
|
79
|
+
|
|
72
80
|
## Responsive Mutation Requirements
|
|
73
81
|
|
|
74
82
|
- 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.
|
package/.cursorrules
CHANGED
package/.gemini/instructions.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Adapter Mode: thin
|
|
4
4
|
Adapter Source: .instructions.md
|
|
5
|
-
Canonical Snapshot SHA256:
|
|
5
|
+
Canonical Snapshot SHA256: 58ca52e08f9503f55d49dfc64f800bb1124774251db4614478dbdfa618834445
|
|
6
6
|
|
|
7
7
|
Canonical policy source: [.instructions.md](../.instructions.md).
|
|
8
8
|
|
|
@@ -23,6 +23,10 @@ If your host stops at this file, follow this minimum floor:
|
|
|
23
23
|
6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and policy thresholds from [.agent-context/policies/](../.agent-context/policies).
|
|
24
24
|
7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
|
|
25
25
|
|
|
26
|
+
## Bootstrap Receipt
|
|
27
|
+
|
|
28
|
+
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`.
|
|
29
|
+
|
|
26
30
|
## Completion Gate
|
|
27
31
|
|
|
28
32
|
Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring completion.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Adapter Mode: thin
|
|
4
4
|
Adapter Source: .instructions.md
|
|
5
|
-
Canonical Snapshot SHA256:
|
|
5
|
+
Canonical Snapshot SHA256: 58ca52e08f9503f55d49dfc64f800bb1124774251db4614478dbdfa618834445
|
|
6
6
|
|
|
7
7
|
The canonical policy source for this repository is [.instructions.md](../.instructions.md).
|
|
8
8
|
|
|
@@ -23,6 +23,10 @@ If your host stops at this file, follow this minimum floor:
|
|
|
23
23
|
6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and thresholds from [.agent-context/policies/](../.agent-context/policies).
|
|
24
24
|
7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
|
|
25
25
|
|
|
26
|
+
## Bootstrap Receipt
|
|
27
|
+
|
|
28
|
+
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`.
|
|
29
|
+
|
|
26
30
|
## Completion Gate
|
|
27
31
|
|
|
28
32
|
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,19 @@ 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
|
+
|
|
19
32
|
### Layer 1: Rules (15 Files) [SCOPE-RESOLVED]
|
|
20
33
|
|
|
21
34
|
**Location**: `.agent-context/rules/`
|
package/.windsurfrules
CHANGED
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:
|
|
5
|
+
Canonical Snapshot SHA256: 58ca52e08f9503f55d49dfc64f800bb1124774251db4614478dbdfa618834445
|
|
6
6
|
|
|
7
7
|
This file is an adapter entrypoint for agent discovery.
|
|
8
8
|
The canonical policy source is [.instructions.md](.instructions.md).
|
|
@@ -31,6 +31,10 @@ If your host stops at this file instead of following the full chain, obey the Cr
|
|
|
31
31
|
7. Enforce policy thresholds from [.agent-context/policies/](.agent-context/policies).
|
|
32
32
|
8. Use runtime evidence, structure, and live research signals from project context docs.
|
|
33
33
|
|
|
34
|
+
## Bootstrap Receipt
|
|
35
|
+
|
|
36
|
+
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`.
|
|
37
|
+
|
|
34
38
|
## Trigger Rules
|
|
35
39
|
|
|
36
40
|
- New project or module requests: propose scope, constraints, and required docs first, then wait for approval.
|
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
|
@@ -60,6 +60,10 @@ If your host stops at this file instead of following the full chain, obey the Cr
|
|
|
60
60
|
7. Enforce policy thresholds from [.agent-context/policies/](.agent-context/policies).
|
|
61
61
|
8. Use runtime evidence, structure, and live research signals from project context docs.
|
|
62
62
|
|
|
63
|
+
## Bootstrap Receipt
|
|
64
|
+
|
|
65
|
+
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\`.
|
|
66
|
+
|
|
63
67
|
## Trigger Rules
|
|
64
68
|
|
|
65
69
|
- New project or module requests: propose scope, constraints, and required docs first, then wait for approval.
|
|
@@ -96,6 +100,10 @@ If your host stops at this file, follow this minimum floor:
|
|
|
96
100
|
6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and thresholds from [.agent-context/policies/](../.agent-context/policies).
|
|
97
101
|
7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
|
|
98
102
|
|
|
103
|
+
## Bootstrap Receipt
|
|
104
|
+
|
|
105
|
+
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\`.
|
|
106
|
+
|
|
99
107
|
## Completion Gate
|
|
100
108
|
|
|
101
109
|
Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring work complete.
|
|
@@ -128,6 +136,10 @@ If your host stops at this file, follow this minimum floor:
|
|
|
128
136
|
6. Apply state awareness from [.agent-context/state/](../.agent-context/state) and policy thresholds from [.agent-context/policies/](../.agent-context/policies).
|
|
129
137
|
7. Resolve runtime, structure, and dependency choices from project context docs plus live evidence.
|
|
130
138
|
|
|
139
|
+
## Bootstrap Receipt
|
|
140
|
+
|
|
141
|
+
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\`.
|
|
142
|
+
|
|
131
143
|
## Completion Gate
|
|
132
144
|
|
|
133
145
|
Run [.agent-context/review-checklists/pr-checklist.md](../.agent-context/review-checklists/pr-checklist.md) before declaring completion.
|
|
@@ -384,6 +384,22 @@ 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
|
+
|
|
396
|
+
for (const requiredBootstrapReceiptSnippet of requiredBootstrapReceiptSnippets) {
|
|
397
|
+
if (canonicalInstructionContent.includes(requiredBootstrapReceiptSnippet)) {
|
|
398
|
+
pass(`.instructions.md includes bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
|
|
399
|
+
} else {
|
|
400
|
+
fail(`.instructions.md is missing bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
387
403
|
|
|
388
404
|
for (const thinAdapterPath of THIN_ADAPTER_PATHS) {
|
|
389
405
|
const absoluteAdapterPath = join(ROOT_DIR, thinAdapterPath);
|
|
@@ -404,6 +420,14 @@ export async function validateInstructionAdapters(context) {
|
|
|
404
420
|
fail(`${thinAdapterPath} must declare Adapter Mode: thin and Adapter Source: .instructions.md`);
|
|
405
421
|
}
|
|
406
422
|
|
|
423
|
+
for (const requiredBootstrapReceiptSnippet of requiredBootstrapReceiptSnippets) {
|
|
424
|
+
if (thinAdapterContent.includes(requiredBootstrapReceiptSnippet)) {
|
|
425
|
+
pass(`${thinAdapterPath} includes bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
|
|
426
|
+
} else {
|
|
427
|
+
fail(`${thinAdapterPath} is missing bootstrap receipt snippet: ${requiredBootstrapReceiptSnippet}`);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
407
431
|
const hashMatch = thinAdapterContent.match(/Canonical Snapshot SHA256:\s*([a-f0-9]{64})/);
|
|
408
432
|
if (!hashMatch) {
|
|
409
433
|
fail(`${thinAdapterPath} must declare Canonical Snapshot SHA256`);
|