@5ive-tech/cli 1.0.11 → 1.0.14

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