@5ive-tech/cli 1.0.11 → 1.0.12

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/README.md CHANGED
@@ -24,6 +24,8 @@ npx @5ive-tech/cli --help
24
24
  cd my-program
25
25
  ```
26
26
 
27
+ `5ive init` generates an `AGENTS.md` playbook in every new project so agents can immediately compile, test, deploy, and execute 5ive DSL programs with the same workflow as developers.
28
+
27
29
  ### 2) Compile to a `.five` artifact (recommended)
28
30
 
29
31
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,WAAW,EAAE,iBA2HzB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EAIlB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,WAAW,EAAE,iBAgIzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // Init command.
2
- import { writeFile, mkdir, access } from 'fs/promises';
3
- import { join } from 'path';
2
+ import { writeFile, mkdir, access, readFile } from 'fs/promises';
3
+ import { join, resolve, dirname } from 'path';
4
+ import { fileURLToPath } from 'url';
4
5
  import chalk from 'chalk';
5
6
  import ora from 'ora';
6
7
  import { success as uiSuccess, warning as uiWarning, uiColors } from '../utils/cli-ui.js';
@@ -95,6 +96,10 @@ export const initCommand = {
95
96
  await generateProjectConfig(projectDir, projectName, options);
96
97
  await generatePackageJson(projectDir, projectName, options);
97
98
  spinner.succeed('Configuration files generated');
99
+ // Generate agent playbook (always, even with --no-examples)
100
+ spinner.start('Generating AGENTS.md playbook...');
101
+ await generateAgentPlaybook(projectDir);
102
+ spinner.succeed('AGENTS.md generated');
98
103
  // Generate source files
99
104
  if (!options.noExamples) {
100
105
  spinner.start('Generating example files...');
@@ -203,7 +208,7 @@ async function generatePackageJson(projectDir, projectName, options) {
203
208
  'watch': '5ive compile src/**/*.v --watch'
204
209
  },
205
210
  devDependencies: {
206
- 'five-cli': '^1.0.0'
211
+ '@5ive-tech/cli': '^1.0.0'
207
212
  },
208
213
  keywords: [
209
214
  'five-vm',
@@ -728,7 +733,7 @@ A ${template} project built with 5IVE VM.
728
733
  ### Prerequisites
729
734
 
730
735
  - Node.js 18+
731
- - 5IVE CLI: \`npm install -g five-cli\`
736
+ - 5IVE CLI: \`npm install -g @5ive-tech/cli\`
732
737
 
733
738
  ### Building
734
739
 
@@ -754,16 +759,16 @@ npm run build:debug
754
759
  npm test
755
760
 
756
761
  # Run with watch mode for continuous testing
757
- five test --watch
762
+ 5ive test --watch
758
763
 
759
764
  # Run specific tests by filter
760
- five test --filter "test_add"
765
+ 5ive test --filter "test_add"
761
766
 
762
767
  # Run with verbose output
763
- five test --verbose
768
+ 5ive test --verbose
764
769
 
765
770
  # Run with JSON output for CI/CD
766
- five test --format json
771
+ 5ive test --format json
767
772
  \`\`\`
768
773
 
769
774
  #### Writing Tests
@@ -816,10 +821,10 @@ If your project uses multiple modules with \`use\` or \`import\` statements, 5IV
816
821
 
817
822
  \`\`\`bash
818
823
  # Automatic discovery of imported modules
819
- five compile src/main.v --auto-discover
824
+ 5ive compile src/main.v --auto-discover
820
825
 
821
826
  # Or use the build command which respects five.toml configuration
822
- five build
827
+ 5ive build
823
828
  \`\`\`
824
829
 
825
830
  ## Learn More
@@ -869,11 +874,43 @@ Thumbs.db
869
874
  *.debug.bin
870
875
  `;
871
876
  }
877
+ /**
878
+ * Generate AGENTS.md playbook content and write it to project root.
879
+ */
880
+ async function generateAgentPlaybook(projectDir) {
881
+ const playbookTemplate = await loadAgentPlaybookTemplate();
882
+ await writeFile(join(projectDir, 'AGENTS.md'), playbookTemplate);
883
+ }
884
+ async function loadAgentPlaybookTemplate() {
885
+ const __filename = fileURLToPath(import.meta.url);
886
+ const __dirname = dirname(__filename);
887
+ const candidatePaths = [
888
+ // dist runtime
889
+ resolve(__dirname, '../../templates/AGENTS.md'),
890
+ // src/test runtime
891
+ resolve(__dirname, '../templates/AGENTS.md'),
892
+ // repo-root fallback
893
+ resolve(process.cwd(), 'five-cli/templates/AGENTS.md'),
894
+ ];
895
+ for (const p of candidatePaths) {
896
+ try {
897
+ const content = await readFile(p, 'utf8');
898
+ if (content.trim().length > 0) {
899
+ return content;
900
+ }
901
+ }
902
+ catch {
903
+ // try next candidate
904
+ }
905
+ }
906
+ throw new Error('Failed to load AGENTS.md template from five-cli/templates/AGENTS.md');
907
+ }
872
908
  /**
873
909
  * Display success message
874
910
  */
875
911
  function displaySuccessMessage(projectDir, projectName, options) {
876
912
  console.log('\n' + uiSuccess('Project initialized'));
913
+ console.log(` ${uiColors.info('Generated')} AGENTS.md - Agent playbook for build/deploy/test workflow`);
877
914
  console.log('\n' + chalk.bold('Next steps:'));
878
915
  if (projectDir !== process.cwd()) {
879
916
  console.log(` ${uiColors.info('cd')} ${projectDir}`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5ive-tech/cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.12",
4
4
  "description": "High-performance CLI for Five VM development with WebAssembly integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,6 +37,7 @@
37
37
  },
38
38
  "files": [
39
39
  "dist/",
40
+ "templates/AGENTS.md",
40
41
  "assets/",
41
42
  "README.md",
42
43
  "LICENSE"
@@ -0,0 +1,402 @@
1
+ # AGENTS.md - Complete 5IVE DSL Agent Bootstrap
2
+
3
+ This file is written for agents with zero prior 5IVE knowledge.
4
+ It is intentionally self-contained and should be treated as the baseline technical specification for authoring, testing, deploying, and integrating 5IVE programs.
5
+
6
+ ## 1) What 5IVE Is
7
+
8
+ 5IVE is a DSL and toolchain for compiling compact bytecode programs for Solana execution paths.
9
+
10
+ Core surfaces:
11
+ 1. Source language: `.v`
12
+ 2. Canonical artifact: `.five` (bytecode + ABI)
13
+ 3. CLI: `@5ive-tech/cli` (`5ive` canonical command; `five` alias supported)
14
+ 4. SDK: `@5ive-tech/sdk` (`FiveSDK`, `FiveProgram`)
15
+
16
+ ## 2) Source of Truth Policy
17
+
18
+ When docs conflict, resolve in this order:
19
+ 1. Compiler/CLI/SDK source code
20
+ 2. Package manifests + command definitions
21
+ 3. READMEs/examples/docs
22
+
23
+ Never rely on stale docs when behavior is high-stakes (deploy/execute/CPI encoding).
24
+
25
+ ## 3) Non-Negotiable Workflow
26
+
27
+ 1. Inspect `five.toml` before code changes.
28
+ 2. Compile to `.five`.
29
+ 3. Run local/runtime tests.
30
+ 4. Deploy with explicit target + program ID resolution path.
31
+ 5. Execute and verify confirmed tx metadata (`meta.err == null`).
32
+ 6. Record signatures + compute units.
33
+
34
+ ## 4) DSL Feature Inventory (Deep)
35
+
36
+ This section enumerates language features discovered from parser/compiler code and repo examples.
37
+
38
+ ### 4.1 Top-level declarations
39
+ Observed and/or parsed:
40
+ 1. `account Name { ... }`
41
+ 2. Global fields/variables (including `mut`)
42
+ 3. `init { ... }` block
43
+ 4. `constraints { ... }` block
44
+ 5. Function/instruction definitions (`pub`, `fn`, optional `instruction` keyword)
45
+ 6. `event Name { ... }` definitions
46
+ 7. `interface Name ... { ... }` definitions
47
+ 8. `use` / `import` statements
48
+ 9. Legacy `script Name { ... }` wrapper (parser-supported)
49
+
50
+ ### 4.2 Function definition forms
51
+ Parser accepts flexible forms:
52
+ 1. `pub add(...) -> ... { ... }`
53
+ 2. `fn add(...) { ... }`
54
+ 3. `instruction add(...) { ... }`
55
+ 4. `pub fn add(...) { ... }`
56
+
57
+ ### 4.3 Parameter system
58
+ Each parameter supports:
59
+ 1. Name + type: `x: u64`
60
+ 2. Optional marker: `x?: u64`
61
+ 3. Default value: `x: u64 = 10`
62
+ 4. Attributes before or after type
63
+
64
+ Common attributes:
65
+ 1. `@signer`
66
+ 2. `@mut`
67
+ 3. `@init`
68
+ 4. Generic form: `@attribute(args...)`
69
+ 5. Template-observed relation constraints: `@has(field)`
70
+
71
+ ### 4.4 `@init` config support
72
+ `@init` can include config arguments:
73
+ 1. `payer=...`
74
+ 2. `space=...`
75
+ 3. `seeds=[...]`
76
+ 4. `bump=...`
77
+
78
+ Examples also show legacy bracket seed forms after `@init`.
79
+
80
+ ### 4.5 Types
81
+ Supported/parsed type families:
82
+ 1. Primitive numeric/bool/pubkey/string types (`u8..u128`, `i8..i64`, `bool`, `pubkey`, `string`)
83
+ 2. `Account` type and account-typed params
84
+ 3. Sized strings: `string<32>`
85
+ 4. Arrays:
86
+ - Rust style: `[T; N]`
87
+ - TypeScript-style sized: `T[N]`
88
+ - TypeScript-style dynamic: `T[]`
89
+ 5. Tuples: `(T1, T2, ...)`
90
+ 6. Inline struct types: `{ field: Type, ... }`
91
+ 7. Generic types:
92
+ - `Option<T>`
93
+ - `Result<T, E>`
94
+ - nested generics (`Option<Option<u64>>` etc.)
95
+ 8. Namespaced/custom types: `module::Type`
96
+ 9. Optional account fields in structs/accounts: `field?: Type`
97
+
98
+ ### 4.6 Statements
99
+ Observed and parser-supported:
100
+ 1. `let` declarations (with `mut` and optional type annotation)
101
+ 2. Assignment:
102
+ - direct: `x = y`
103
+ - compound: `+=`, `-=`, `*=`, `/=`, `<<=`, `>>=`, `&=`, `|=`, `^=`
104
+ 3. Field assignment: `obj.field = value`
105
+ 4. Return statements (`return`, `return value`)
106
+ 5. Guard/assertion: `require(condition)`
107
+ 6. Conditionals:
108
+ - `if (...) {}`
109
+ - `else if (...) {}`
110
+ - `else {}`
111
+ 7. Pattern matching: `match expr { ... }`, with optional arm guards (`if ...`)
112
+ 8. Loops:
113
+ - `while (...) { ... }`
114
+ - `for (init; cond; update) { ... }`
115
+ - `for (item in iterable) { ... }`
116
+ - `do { ... } while (...);`
117
+ 9. Tuple destructuring:
118
+ - declaration style: `let (a, b) = expr`
119
+ - assignment style for tuple targets
120
+ 10. Event emission: `emit EventName { field: value, ... }`
121
+ 11. Expression statements (function/method calls, constructors like `Some(...)`)
122
+
123
+ ### 4.7 Expressions and operators
124
+ Parser handles:
125
+ 1. Arithmetic: `+`, `-`, `*`, `/`, `%`
126
+ 2. Checked-arithmetic tokens in grammar: `+?`, `-?`, `*?`
127
+ - Some repo tests indicate these were replaced/legacy in current examples.
128
+ 3. Comparison: `==`, `!=`, `<`, `<=`, `>`, `>=`
129
+ 4. Boolean: `&&`, `||`, `!`
130
+ 5. Bitwise: `&`, `|`, `^`, `~`
131
+ 6. Shifts/bit ops: `<<`, `>>`, `>>>`, `<<<`
132
+ 7. Range operator: `..`
133
+ 8. Unary `+`/`-`
134
+ 9. Cast syntax: `expr as Type`
135
+ 10. Error propagation postfix: `expr?`
136
+ 11. Field access: `obj.field`
137
+ 12. Tuple access: `obj.0`
138
+ 13. Array indexing: `arr[idx]`
139
+ 14. Function calls
140
+ 15. Method calls: `obj.method(args...)`
141
+ 16. Namespaced calls: `module::function(...)`
142
+ 17. Struct literals: `{ field: expr, ... }`
143
+ 18. Array literals: `[a, b, c]`
144
+ 19. Tuple literals: `(a, b)`
145
+ 20. Option/Result constructors and patterns:
146
+ - `Some(...)`, `None`
147
+ - `Ok(...)`, `Err(...)`
148
+
149
+ ### 4.8 Imports and modules
150
+ `use`/`import` system supports:
151
+ 1. External module specifier via quoted literal
152
+ 2. Local module specifier via identifier path
153
+ 3. Nested local module paths using `::`
154
+ 4. Scoped namespace forms with symbols: `!`, `@`, `#`, `$`, `%`
155
+ 5. Member imports:
156
+ - single: `::name`
157
+ - list: `::{a, b}`
158
+ - typed list entries: `method foo`, `interface Bar`
159
+
160
+ ### 4.9 Interfaces and CPI features
161
+ Interface parser supports:
162
+ 1. `interface Name ... { methods... }`
163
+ 2. Program binding:
164
+ - `program("...")`
165
+ - `@program("...")`
166
+ 3. Serializer hints:
167
+ - `serializer(...)`
168
+ - `@serializer(...)`
169
+ 4. Anchor marker:
170
+ - `@anchor interface ...`
171
+ 5. Method discriminators:
172
+ - `@discriminator(u8)`
173
+ - `@discriminator([byte,...])`
174
+ - `discriminator_bytes(...)` forms in parser/compiler AST
175
+ 6. Optional interface method return types
176
+
177
+ CPI hard rule for agents:
178
+ 1. Always set `@program(...)`
179
+ 2. Always set `@serializer(...)` explicitly
180
+ 3. Always set discriminator explicitly
181
+
182
+ ### 4.10 Events and error/enums
183
+ Parser/AST include:
184
+ 1. Event definitions + `emit` statements
185
+ 2. Enum/error-style definitions (`enum` path in parser)
186
+
187
+ Production note:
188
+ Treat event/error enum features as available in syntax, but verify runtime/compiler behavior in your exact toolchain version before relying on them for critical flows.
189
+
190
+ ### 4.11 Testing-oriented language features
191
+ From tokenizer/parser support:
192
+ 1. `#[...]` test attributes
193
+ 2. `test` function parse path
194
+ 3. Test attribute names/tokens include:
195
+ - `ignore`
196
+ - `should_fail`
197
+ - `timeout`
198
+ 4. Assertion tokens:
199
+ - `assert_eq`
200
+ - `assert_true`
201
+ - `assert_false`
202
+ - `assert_fails`
203
+ - `assert_approx_eq`
204
+
205
+ Repository tests also use comment-based param conventions (`// @test-params ...`) in many scripts.
206
+
207
+ ### 4.12 Blockchain-oriented built-ins seen in examples
208
+ Observed in scripts/templates:
209
+ 1. `derive_pda(...)` (including bump-return and bump-specified variants)
210
+ 2. `get_clock()`
211
+ 3. `get_key(...)`
212
+ 4. account key access: `authority.key`
213
+
214
+ Treat built-ins as compiler/runtime coupled features; verify signatures in current examples before use.
215
+
216
+ ## 5) Feature Maturity Matrix (Agent Safety)
217
+
218
+ ### 5.1 Generally production-oriented (widely used in templates)
219
+ 1. Accounts, `@mut`, `@signer`, `@init`
220
+ 2. `require`
221
+ 3. Basic control flow (`if`, `while`)
222
+ 4. Arithmetic/comparison/boolean expressions
223
+ 5. `.five` compile/deploy/execute path
224
+ 6. `interface` + explicit discriminator + explicit serializer CPI patterns
225
+
226
+ ### 5.2 Available but validate per-version before critical use
227
+ 1. Match expressions with `Option`/`Result`
228
+ 2. Tuple destructuring and tuple returns
229
+ 3. Advanced loop forms (`for`, `do-while`)
230
+ 4. Event definition/emit workflows
231
+ 5. Namespaced imports and scoped namespace symbols
232
+ 6. Bitwise/shift operator-heavy code
233
+
234
+ ### 5.3 Parser tokens exist; treat as reserved/experimental unless proven in your path
235
+ 1. `query`, `when`, `realloc`, `pda` keywords
236
+ 2. Some assertion/test keyword paths in non-test production code
237
+ 3. Legacy checked-arithmetic operators (`+?`, `-?`, `*?`) where examples indicate migration
238
+
239
+ ## 6) CLI Canonical Usage
240
+
241
+ ### 6.1 Install and identity
242
+ ```bash
243
+ npm install -g @5ive-tech/cli
244
+ 5ive --version
245
+ ```
246
+
247
+ ### 6.2 Initialize
248
+ ```bash
249
+ 5ive init my-program
250
+ cd my-program
251
+ ```
252
+
253
+ ### 6.3 Compile
254
+ ```bash
255
+ 5ive compile src/main.v -o build/main.five
256
+ # or project-aware
257
+ 5ive build
258
+ ```
259
+
260
+ ### 6.4 Local execute
261
+ ```bash
262
+ 5ive execute build/main.five --local -f 0
263
+ ```
264
+
265
+ ### 6.5 Configure devnet
266
+ ```bash
267
+ 5ive config init
268
+ 5ive config set --target devnet
269
+ 5ive config set --keypair ~/.config/solana/id.json
270
+ 5ive config set --program-id <FIVE_VM_PROGRAM_ID> --target devnet
271
+ ```
272
+
273
+ ### 6.6 Deploy + execute on-chain
274
+ ```bash
275
+ 5ive deploy build/main.five --target devnet
276
+ 5ive execute build/main.five --target devnet -f 0
277
+ ```
278
+
279
+ ### 6.7 Advanced deploy modes
280
+ ```bash
281
+ 5ive deploy build/main.five --target devnet --optimized --progress
282
+ 5ive deploy build/main.five --target devnet --force-chunked --chunk-size 900
283
+ 5ive deploy build/main.five --target devnet --dry-run --format json
284
+ ```
285
+
286
+ ### 6.8 Test modes
287
+ ```bash
288
+ 5ive test --sdk-runner
289
+ 5ive test tests/ --on-chain --target devnet
290
+ 5ive test --sdk-runner --format json
291
+ ```
292
+
293
+ ## 7) Program ID and Target Resolution
294
+
295
+ On-chain command precedence (`deploy`, `execute`, `namespace`):
296
+ 1. `--program-id`
297
+ 2. `five.toml [deploy].program_id`
298
+ 3. `5ive config` value for current target
299
+ 4. `FIVE_PROGRAM_ID`
300
+
301
+ Never run on-chain commands with ambiguous target/program-id context.
302
+
303
+ ## 8) SDK Canonical Usage
304
+
305
+ ### 8.1 Load artifact
306
+ ```ts
307
+ import fs from "fs";
308
+ import { FiveSDK } from "@5ive-tech/sdk";
309
+
310
+ const fiveFileText = fs.readFileSync("build/main.five", "utf8");
311
+ const { abi } = await FiveSDK.loadFiveFile(fiveFileText);
312
+ ```
313
+
314
+ ### 8.2 Program client
315
+ ```ts
316
+ import { FiveProgram } from "@5ive-tech/sdk";
317
+
318
+ const program = FiveProgram.fromABI("<SCRIPT_ACCOUNT>", abi, {
319
+ fiveVMProgramId: "<FIVE_VM_PROGRAM_ID>",
320
+ vmStateAccount: "<VM_STATE_ACCOUNT>",
321
+ feeReceiverAccount: "<FEE_RECEIVER_ACCOUNT>",
322
+ });
323
+ ```
324
+
325
+ ### 8.3 Execution verification pattern
326
+ 1. Build instruction via `program.function(...).accounts(...).args(...).instruction()`
327
+ 2. Submit with preflight enabled
328
+ 3. Fetch confirmed tx
329
+ 4. Assert `meta.err == null`
330
+ 5. Record `meta.computeUnitsConsumed`
331
+
332
+ ### 8.4 SDK program ID resolution precedence
333
+ 1. Explicit `fiveVMProgramId`
334
+ 2. `FiveSDK.setDefaultProgramId(...)`
335
+ 3. `FIVE_PROGRAM_ID`
336
+ 4. release-baked default (if present)
337
+
338
+ ## 9) Frontend Integration Baseline
339
+
340
+ 1. Build execute instructions via SDK (`FiveProgram`), not custom serializers.
341
+ 2. Keep network selection explicit (`localnet`, `devnet`, `mainnet`).
342
+ 3. Surface signatures, CU metrics, and rich error states.
343
+ 4. Use LSP-backed editing where available to reduce DSL mistakes.
344
+
345
+ ## 10) Pattern Mapping for Complex Contracts
346
+
347
+ 1. Vault:
348
+ - authority-gated custody, withdraw invariants
349
+ 2. Escrow:
350
+ - lifecycle transitions, dual-party authorization
351
+ 3. Token/mint authority:
352
+ - supply accounting, freeze/delegate controls
353
+ 4. AMM/orderbook:
354
+ - conservation math, deterministic settlement
355
+ 5. Lending/perps/stablecoin:
356
+ - collateral/liquidation thresholds, risk checks
357
+
358
+ ## 11) Mainnet Safety Policy
359
+
360
+ Required preflight gates:
361
+ 1. Freeze artifact hash
362
+ 2. Lock target/program-id/RPC/key source
363
+ 3. Validate key custody
364
+ 4. Run simulation/dry-run path
365
+ 5. Predefine rollback/containment actions
366
+
367
+ Post-deploy:
368
+ 1. smoke execute
369
+ 2. confirmed tx validation
370
+ 3. CU baseline capture
371
+ 4. incident process if anomalies appear
372
+
373
+ ## 12) Common Failure Signatures
374
+
375
+ 1. `No program ID resolved for Five VM`:
376
+ - set explicit program-id source
377
+ 2. `Function '<name>' not found in ABI`:
378
+ - use exact ABI name (including namespace)
379
+ 3. `Missing required account/argument`:
380
+ - satisfy `.accounts(...)` and `.args(...)`
381
+ 4. owner/program mismatch:
382
+ - verify target program ownership assumptions
383
+ 5. CPI mismatch:
384
+ - verify explicit serializer/discriminator/account order
385
+
386
+ ## 13) Definition of Done
387
+
388
+ Complete means:
389
+ 1. `.five` artifact produced
390
+ 2. tests passed with evidence
391
+ 3. deployment confirmed (if in scope)
392
+ 4. execution confirmed with `meta.err == null` (if in scope)
393
+ 5. signatures + CU metrics recorded
394
+ 6. integration snippet delivered (SDK/frontend when requested)
395
+
396
+ ## 14) Agent Behavior Rules
397
+
398
+ 1. Prefer deterministic, minimal command paths.
399
+ 2. Verify tx outcomes; do not assume send success == execution success.
400
+ 3. Avoid hidden defaults for deploy/CPI critical parameters.
401
+ 4. Keep changes auditable and reproducible.
402
+ 5. If uncertain, inspect compiler/CLI source directly.