@warpgogol/forge 0.28.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/AGENTS.md +16 -0
  2. package/README.md +4 -4
  3. package/README.uk.md +4 -4
  4. package/dist/os/core/core.module.d.ts.map +1 -1
  5. package/dist/os/core/core.module.js +34 -0
  6. package/dist/os/core/core.module.js.map +1 -1
  7. package/dist/os/program/discovery.d.ts +61 -0
  8. package/dist/os/program/discovery.d.ts.map +1 -0
  9. package/dist/os/program/discovery.js +236 -0
  10. package/dist/os/program/discovery.js.map +1 -0
  11. package/dist/os/program/handlers/complete.d.ts +12 -0
  12. package/dist/os/program/handlers/complete.d.ts.map +1 -0
  13. package/dist/os/program/handlers/complete.js +344 -0
  14. package/dist/os/program/handlers/complete.js.map +1 -0
  15. package/dist/os/program/handlers/lease.d.ts +13 -0
  16. package/dist/os/program/handlers/lease.d.ts.map +1 -0
  17. package/dist/os/program/handlers/lease.js +322 -0
  18. package/dist/os/program/handlers/lease.js.map +1 -0
  19. package/dist/os/program/handlers/seal.d.ts +12 -0
  20. package/dist/os/program/handlers/seal.d.ts.map +1 -0
  21. package/dist/os/program/handlers/seal.js +265 -0
  22. package/dist/os/program/handlers/seal.js.map +1 -0
  23. package/dist/os/program/handlers/validate.d.ts +14 -0
  24. package/dist/os/program/handlers/validate.d.ts.map +1 -0
  25. package/dist/os/program/handlers/validate.js +164 -0
  26. package/dist/os/program/handlers/validate.js.map +1 -0
  27. package/dist/os/program/lease.d.ts +39 -0
  28. package/dist/os/program/lease.d.ts.map +1 -0
  29. package/dist/os/program/lease.js +129 -0
  30. package/dist/os/program/lease.js.map +1 -0
  31. package/dist/os/program/program.module.d.ts +3 -0
  32. package/dist/os/program/program.module.d.ts.map +1 -0
  33. package/dist/os/program/program.module.js +201 -0
  34. package/dist/os/program/program.module.js.map +1 -0
  35. package/dist/os/program/schemas.d.ts +225 -0
  36. package/dist/os/program/schemas.d.ts.map +1 -0
  37. package/dist/os/program/schemas.js +174 -0
  38. package/dist/os/program/schemas.js.map +1 -0
  39. package/dist/os/program/state.d.ts +38 -0
  40. package/dist/os/program/state.d.ts.map +1 -0
  41. package/dist/os/program/state.js +189 -0
  42. package/dist/os/program/state.js.map +1 -0
  43. package/dist/os/rfc/handlers/archive.d.ts +1 -0
  44. package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
  45. package/dist/os/rfc/handlers/archive.js +54 -0
  46. package/dist/os/rfc/handlers/archive.js.map +1 -1
  47. package/dist/src/index.d.ts +1 -0
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +1 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/package.json +15 -15
  52. package/profiles/astro-typescript-turborepo.yaml +1 -1
  53. package/profiles/editframe.yaml +2 -2
  54. package/profiles/forge-shell.yaml +1 -1
  55. package/profiles/godot-csharp.yaml +388 -0
  56. package/profiles/phaser-turborepo.yaml +1 -1
  57. package/skills/fo/ef-onboard/SKILL.md +1 -1
  58. package/skills/fo/fo-idea/SKILL.md +2 -2
  59. package/skills/fo/fo-idea-implement/SKILL.md +1 -1
  60. package/skills/fo/fo-step-commit/SKILL.md +7 -5
  61. package/skills/shared/grilling/learned-principles.archive.md +212 -0
  62. package/skills/shared/grilling/learned-principles.md +0 -13
  63. package/skills/shared/grilling/qa-log.md +624 -0
  64. package/skills/shared/knowledge/learned-principles.md +99 -0
package/AGENTS.md CHANGED
@@ -9,6 +9,10 @@ Portable governance skills and command modules extracted from the engine (RFC-03
9
9
  - `bin/` — CLI entrypoint (`forge` command) for autonomous usage without `@warpgogol/werkstatt`.
10
10
  - `skills/` — forge-managed skill definitions (38 fo skills + 5 shared + 3 meta = 46 skills). Project-declared skill packs (RFC-0539) live outside forge and are discovered via `discoverPackSkills` from `forge.yaml` `skillPacks` config.
11
11
 
12
+ ## RFC-0855 program control-plane boundary
13
+
14
+ Packet 000 will add the portable `forge/program@1` control plane under `os/program/` as specified by accepted RFC-0856 and its committed implementation plan. Do not implement it, register commands, or alter packet state before packet 000 is sealed. The module validates and writes governance artifacts only: it never executes packet work, commits, materializes decisions without a preparation lease, deploys, or imports `@warpgogol/werkstatt`. Keep it cross-platform, deny unknown fields and unsafe paths, store only lease-token digests, and preserve packet 000 as the sole irreversible bootstrap.
15
+
12
16
  ## OS modules
13
17
 
14
18
  | Module | Commands | Source |
@@ -27,6 +31,18 @@ Portable governance skills and command modules extracted from the engine (RFC-03
27
31
  | `forgeMissionModule` | `mission.archive` | `os/mission/` |
28
32
  | `forgeExplorationModule` | `exploration.list`, `exploration.show`, `exploration.archive` | `os/exploration/` |
29
33
  | `forgeNotesModule` | `note.link.validate`, `note.frontmatter.validate`, `note.orphan.detect` | `os/notes/` |
34
+ | `forgeProgramModule` | `program.packet.validate`, `program.packet.seal`, `program.packet.lease`, `program.packet.complete` | `os/program/` |
35
+
36
+ ## Program packet control plane (RFC-0856)
37
+
38
+ The program packet control plane governs sequential packet execution under `forge/program@1`. It validates boundaries; it does not execute implementation commands or commit on behalf of agents.
39
+
40
+ - **Program Steward** and **Packet Executor** are distinct roles. A Steward seals packets, recovers stale leases, and validates completions. An Executor holds the lease and implements the packet. The same actor MUST NOT be both Steward and Executor for the same packet.
41
+ - **Manual state edits are forbidden.** Packet state transitions (`draft` → `sealed` → `active` → `completed`) must go through the registered commands. Self-sealing (a packet's Executor calling `seal` or `complete` for their own packet) is rejected.
42
+ - **Lease tokens are opaque and untracked.** Raw lease tokens exist only in memory and the command response. Only the SHA-256 hash is persisted in `.forge/program-leases/` (gitignored). Tokens never appear in tracked artifacts, logs, or completion reports.
43
+ - **Normative source hashes are exact-byte.** `normativeSources` in a packet record SHA-256 digests of the exact file bytes at seal time. Reordered YAML or reformatted JSON that changes byte content will fail validation, even if the parsed structure is semantically identical.
44
+ - **Bootstrap packet 000 is irreversible.** The `--bootstrap` flag on `program.packet.complete` is valid only for the first packet (no predecessor, program state `preparing`). It transitions the program to `executing`. There is no second bootstrap path.
45
+ - **Path validation is traversal-safe.** `allowedFiles` and `forbiddenFiles` use lexical path normalization that resolves `..` segments before glob matching, preventing directory traversal escapes.
30
46
 
31
47
  ## Archive convention
32
48
 
package/README.md CHANGED
@@ -27,7 +27,7 @@ If you've never programmed before, this section takes you from a completely empt
27
27
 
28
28
  You need two free programs:
29
29
 
30
- - **Node.js** (version 22 or newer) — lets your computer run JavaScript tools.
30
+ - **Node.js** (version 24 or newer) — lets your computer run JavaScript tools.
31
31
  - **pnpm** — the package manager Forge uses to install dependencies. It's built into Node.js and just needs to be switched on.
32
32
 
33
33
  Both are free. You install Node.js first, then enable pnpm with a single command.
@@ -38,10 +38,10 @@ Both are free. You install Node.js first, then enable pnpm with a single command
38
38
 
39
39
  1. Open the **Terminal** app (press `Ctrl + Alt + T`, or search for "Terminal" in your applications).
40
40
 
41
- 2. Download and install Node.js 22 (LTS) by pasting this command and pressing Enter:
41
+ 2. Download and install Node.js 24 (LTS) by pasting this command and pressing Enter:
42
42
 
43
43
  ```sh
44
- curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs
44
+ curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
45
45
  ```
46
46
 
47
47
  You'll be asked for your password — type it (you won't see the characters as you type, that's normal) and press Enter.
@@ -188,7 +188,7 @@ You should see version information, not an error.
188
188
 
189
189
  - **"command not found" after installing Node.js** — Close and reopen your terminal (Ubuntu) or PowerShell (Windows). The system needs to reload the list of available commands.
190
190
  - **"EACCES permission denied" on Ubuntu when installing Forge globally** — Run `sudo pnpm add -g @warpgogol/forge` instead.
191
- - **"corepack: command not found"** — Your Node.js version is too old. Install Node.js 22+ using the steps above.
191
+ - **"corepack: command not found"** — Your Node.js version is too old. Install Node.js 24+ using the steps above.
192
192
  - **Windsurf can't find `forge`** — Close and reopen Windsurf after installing Forge. IDEs need to restart to pick up new global commands.
193
193
  - **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `forge create --name my-project --profile editframe` (or the appropriate profile) in a terminal first, then open the created folder in your IDE. The `forge create` command populates the folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
194
194
 
package/README.uk.md CHANGED
@@ -27,7 +27,7 @@ Forge підтримує чотири типи проєктів. Ви обира
27
27
 
28
28
  Потрібні дві безкоштовні програми:
29
29
 
30
- - **Node.js** (версія 22 або новіша) — дозволяє вашому комп'ютеру запускати JavaScript-інструменти.
30
+ - **Node.js** (версія 24 або новіша) — дозволяє вашому комп'ютеру запускати JavaScript-інструменти.
31
31
  - **pnpm** — менеджер пакетів, який Forge використовує для встановлення залежностей. Він вбудований у Node.js і його лише треба увімкнути.
32
32
 
33
33
  Обидві програми безкоштовні. Спочатку встановлюєте Node.js, потім вмикаєте pnpm однією командою.
@@ -38,10 +38,10 @@ Forge підтримує чотири типи проєктів. Ви обира
38
38
 
39
39
  1. Відкрийте програму **Термінал** (натисніть `Ctrl + Alt + T` або знайдіть «Термінал» у ваших програмах).
40
40
 
41
- 2. Завантажте та встановіть Node.js 22 (LTS), вставивши цю команду та натиснувши Enter:
41
+ 2. Завантажте та встановіть Node.js 24 (LTS), вставивши цю команду та натиснувши Enter:
42
42
 
43
43
  ```sh
44
- curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - && sudo apt-get install -y nodejs
44
+ curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
45
45
  ```
46
46
 
47
47
  Вас попросять ввести пароль — введіть його (символи не відображатимуться під час введення, це нормально) і натисніть Enter.
@@ -188,7 +188,7 @@ ffmpeg -version
188
188
 
189
189
  - **«command not found» після встановлення Node.js** — Закрийте та знову відкрийте термінал (Ubuntu) або PowerShell (Windows). Системі потрібно перезавантажити список доступних команд.
190
190
  - **«EACCES permission denied» в Ubuntu під час глобального встановлення Forge** — Виконайте `sudo pnpm add -g @warpgogol/forge`.
191
- - **«corepack: command not found»** — Ваша версія Node.js занадто стара. Встановіть Node.js 22+ за кроками вище.
191
+ - **«corepack: command not found»** — Ваша версія Node.js занадто стара. Встановіть Node.js 24+ за кроками вище.
192
192
  - **Windsurf не бачить `forge`** — Закрийте та знову відкрийте Windsurf після встановлення Forge. IDE потрібно перезапустити, щоб підхопити нові глобальні команди.
193
193
  - **ШІ-агент не знає про Forge** — Ви відкрили порожню папку, але ШІ-агент не має контексту Forge. Спочатку виконайте `forge create --name my-project --profile editframe` (або відповідний профіль) у терміналі, потім відкрийте створену папку в вашому IDE. Команда `forge create` наповнює папку навичками, конфігурацією та `AGENTS.md` — без цього ШІ-агент не може виявити Forge.
194
194
 
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAgB7D,eAAO,MAAM,eAAe,EAAE,WAqxB7B,CAAC"}
1
+ {"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAgB7D,eAAO,MAAM,eAAe,EAAE,WAwzB7B,CAAC"}
@@ -23,6 +23,7 @@
23
23
  <item>ADR-0021: profile-driven video lifecycle — all lifecycle commands read behavior from profile YAML, zero domain-specific code in Forge source.</item>
24
24
  <item>RFC-0711: docs.archive post-loop step calls spec.live.merge for implemented RFCs with liveSpec field; skips rejected RFCs.</item>
25
25
  <item>RFC-0733: register forge pinned.validate and forge pinned.init commands for pinned-files protection system.</item>
26
+ <item>Lockfile safety net: docs.archive post-loop refreshes pnpm-lock.yaml after mission workpiece moves.</item>
26
27
  </CHANGE_SUMMARY>
27
28
  */
28
29
  import path from "node:path";
@@ -694,6 +695,39 @@ export const forgeCoreModule = {
694
695
  }
695
696
  }
696
697
  }
698
+ // Post-loop lockfile refresh — safety net for mission.archive's own refresh.
699
+ // If mission.archive moved workpieces but its pnpm install / git commit failed
700
+ // silently, the lockfile stays dirty. This catches it and stages the lockfile
701
+ // so the caller (or the next commit) includes it.
702
+ if (!dryRun && totalMoved > 0) {
703
+ try {
704
+ const { execSync } = await import("node:child_process");
705
+ const lockfileStatus = execSync("git status --porcelain pnpm-lock.yaml", {
706
+ cwd: context.workspaceRoot,
707
+ encoding: "utf-8",
708
+ stdio: ["pipe", "pipe", "pipe"],
709
+ }).trim();
710
+ if (lockfileStatus) {
711
+ execSync("pnpm install", {
712
+ cwd: context.workspaceRoot,
713
+ stdio: ["pipe", "pipe", "pipe"],
714
+ timeout: 120_000,
715
+ });
716
+ execSync("git add pnpm-lock.yaml", {
717
+ cwd: context.workspaceRoot,
718
+ stdio: ["pipe", "pipe", "pipe"],
719
+ });
720
+ if (outputFormat === "pretty") {
721
+ logger.info(" docs.archive: staged pnpm-lock.yaml refresh (safety net)");
722
+ }
723
+ }
724
+ }
725
+ catch (refreshErr) {
726
+ if (outputFormat === "pretty") {
727
+ logger.warn(` docs.archive: lockfile safety-net refresh failed — run 'pnpm install' manually: ${refreshErr instanceof Error ? refreshErr.message : String(refreshErr)}`);
728
+ }
729
+ }
730
+ }
697
731
  if (outputFormat === "pretty") {
698
732
  if (dryRun) {
699
733
  logger.info(`[dry-run] docs.archive: would move ${totalMoved} file(s), skip ${totalSkipped} across all domains`);
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type ProgramManifest, type ProgramPacket, type ProgramPacketIndexEntry } from "./schemas.ts";
2
+ export interface ProgramLocation {
3
+ programDir: string;
4
+ manifestPath: string;
5
+ manifest: ProgramManifest;
6
+ }
7
+ /**
8
+ * Discover a program by RFC id. Scans docs/plans/ for a program.yaml whose
9
+ * `program` field matches the given RFC id.
10
+ */
11
+ export declare function discoverProgram(workspaceRoot: string, programRfc: string): ProgramLocation | null;
12
+ /**
13
+ * Parse a packet .md file: extract YAML frontmatter and validate against
14
+ * the forge/program-packet@1 schema.
15
+ */
16
+ export declare function parsePacketFile(packetPath: string): ProgramPacket;
17
+ /**
18
+ * Find a packet by packetId within a program.
19
+ */
20
+ export declare function findPacketEntry(manifest: ProgramManifest, packetId: string): ProgramPacketIndexEntry | null;
21
+ /**
22
+ * Resolve the full path to a packet file.
23
+ */
24
+ export declare function resolvePacketPath(programDir: string, entry: ProgramPacketIndexEntry): string;
25
+ /**
26
+ * Compute SHA-256 hex digest of a file's bytes.
27
+ */
28
+ export declare function fileSha256(filePath: string): string;
29
+ /**
30
+ * Verify normative source hashes for a packet. Returns violations.
31
+ */
32
+ export declare function verifyNormativeSources(workspaceRoot: string, packet: ProgramPacket): Array<{
33
+ path: string;
34
+ expected: string;
35
+ actual: string;
36
+ }>;
37
+ export declare function gitHead(workspaceRoot: string): string;
38
+ export declare function gitBranch(workspaceRoot: string): string;
39
+ export declare function gitIsClean(workspaceRoot: string): boolean;
40
+ export declare function gitAncestorOf(workspaceRoot: string, ancestor: string, descendant: string): boolean;
41
+ export declare function gitChangedFilesBetween(workspaceRoot: string, base: string, head: string): string[];
42
+ /**
43
+ * Normalize a path to forward slashes for cross-platform comparison.
44
+ */
45
+ export declare function normalizePath(p: string): string;
46
+ /**
47
+ * Check if a path matches a glob pattern. Supports:
48
+ * - `**` for recursive directory matching
49
+ * - `*` for single-level wildcard
50
+ * - exact prefix matching with trailing `/**`
51
+ */
52
+ export declare function pathMatchesGlob(filePath: string, pattern: string): boolean;
53
+ /**
54
+ * Check if a file path is within the allowed files list.
55
+ */
56
+ export declare function isPathAllowed(filePath: string, allowedFiles: string[]): boolean;
57
+ /**
58
+ * Check if a file path matches any forbidden pattern.
59
+ */
60
+ export declare function isPathForbidden(filePath: string, forbiddenFiles: string[]): boolean;
61
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../os/program/discovery.ts"],"names":[],"mappings":"AAoBA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA4BjG;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAgBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,uBAAuB,GAAG,IAAI,CAEhC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAE5F;AAMD;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,aAAa,GACpB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB3D;AAMD,wBAAgB,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAWT;AAED,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAWV;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAmBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAqB1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAG/E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAGnF"}
@@ -0,0 +1,236 @@
1
+ /*
2
+ <MODULE_CONTRACT>
3
+ <purpose>Discovery and parsing for program manifests and packet files.
4
+ Reads YAML frontmatter from program.yaml and packet .md files, validates
5
+ against schemas, and computes normative source hashes.</purpose>
6
+ <non-goals>
7
+ <item>Do not import from @warpgogol/* — forge must remain dependency-free.</item>
8
+ <item>Do not mutate files — discovery is read-only.</item>
9
+ </non-goals>
10
+ </MODULE_CONTRACT>
11
+ <CHANGE_SUMMARY>
12
+ <item>RFC-0856: initial program/packet discovery and parsing.</item>
13
+ </CHANGE_SUMMARY>
14
+ */
15
+ import fs from "node:fs";
16
+ import path from "node:path";
17
+ import { createHash } from "node:crypto";
18
+ import { execSync } from "node:child_process";
19
+ import { parse as parseYaml } from "yaml";
20
+ import { programManifestSchema, programPacketSchema, } from "./schemas.js";
21
+ /**
22
+ * Discover a program by RFC id. Scans docs/plans/ for a program.yaml whose
23
+ * `program` field matches the given RFC id.
24
+ */
25
+ export function discoverProgram(workspaceRoot, programRfc) {
26
+ const plansDir = path.join(workspaceRoot, "docs", "plans");
27
+ if (!fs.existsSync(plansDir))
28
+ return null;
29
+ for (const entry of fs.readdirSync(plansDir, { withFileTypes: true })) {
30
+ if (!entry.isDirectory())
31
+ continue;
32
+ const manifestPath = path.join(plansDir, entry.name, "program.yaml");
33
+ if (!fs.existsSync(manifestPath))
34
+ continue;
35
+ const raw = fs.readFileSync(manifestPath, "utf8");
36
+ const parsed = parseYaml(raw);
37
+ if (parsed.program !== programRfc)
38
+ continue;
39
+ const result = programManifestSchema.safeParse(parsed);
40
+ if (!result.success) {
41
+ throw new Error(`PROGRAM-PACKET-01: malformed program manifest at ${manifestPath}: ${result.error.message}`);
42
+ }
43
+ return {
44
+ programDir: path.join(plansDir, entry.name),
45
+ manifestPath,
46
+ manifest: result.data,
47
+ };
48
+ }
49
+ return null;
50
+ }
51
+ // ---------------------------------------------------------------------------
52
+ // Packet parsing
53
+ // ---------------------------------------------------------------------------
54
+ /**
55
+ * Parse a packet .md file: extract YAML frontmatter and validate against
56
+ * the forge/program-packet@1 schema.
57
+ */
58
+ export function parsePacketFile(packetPath) {
59
+ const raw = fs.readFileSync(packetPath, "utf8");
60
+ const match = raw.match(/^---\n([\s\S]*?)\n---/);
61
+ if (!match) {
62
+ throw new Error(`PROGRAM-PACKET-01: missing frontmatter in ${packetPath}`);
63
+ }
64
+ const fm = parseYaml(match[1]);
65
+ const result = programPacketSchema.safeParse(fm);
66
+ if (!result.success) {
67
+ throw new Error(`PROGRAM-PACKET-01: malformed packet at ${packetPath}: ${result.error.message}`);
68
+ }
69
+ return result.data;
70
+ }
71
+ /**
72
+ * Find a packet by packetId within a program.
73
+ */
74
+ export function findPacketEntry(manifest, packetId) {
75
+ return manifest.packets.find((p) => p.packetId === packetId) ?? null;
76
+ }
77
+ /**
78
+ * Resolve the full path to a packet file.
79
+ */
80
+ export function resolvePacketPath(programDir, entry) {
81
+ return path.join(programDir, entry.file);
82
+ }
83
+ // ---------------------------------------------------------------------------
84
+ // Normative source hashing
85
+ // ---------------------------------------------------------------------------
86
+ /**
87
+ * Compute SHA-256 hex digest of a file's bytes.
88
+ */
89
+ export function fileSha256(filePath) {
90
+ const bytes = fs.readFileSync(filePath);
91
+ return createHash("sha256").update(bytes).digest("hex");
92
+ }
93
+ /**
94
+ * Verify normative source hashes for a packet. Returns violations.
95
+ */
96
+ export function verifyNormativeSources(workspaceRoot, packet) {
97
+ const violations = [];
98
+ for (const source of packet.normativeSources) {
99
+ const fullPath = path.join(workspaceRoot, source.path);
100
+ if (!fs.existsSync(fullPath)) {
101
+ violations.push({
102
+ path: source.path,
103
+ expected: source.sha256,
104
+ actual: "<missing>",
105
+ });
106
+ continue;
107
+ }
108
+ const actual = fileSha256(fullPath);
109
+ if (actual !== source.sha256) {
110
+ violations.push({
111
+ path: source.path,
112
+ expected: source.sha256,
113
+ actual,
114
+ });
115
+ }
116
+ }
117
+ return violations;
118
+ }
119
+ // ---------------------------------------------------------------------------
120
+ // Git helpers (read-only)
121
+ // ---------------------------------------------------------------------------
122
+ export function gitHead(workspaceRoot) {
123
+ return execSync("git rev-parse HEAD", {
124
+ cwd: workspaceRoot,
125
+ encoding: "utf8",
126
+ stdio: ["pipe", "pipe", "pipe"],
127
+ }).trim();
128
+ }
129
+ export function gitBranch(workspaceRoot) {
130
+ return execSync("git branch --show-current", {
131
+ cwd: workspaceRoot,
132
+ encoding: "utf8",
133
+ stdio: ["pipe", "pipe", "pipe"],
134
+ }).trim();
135
+ }
136
+ export function gitIsClean(workspaceRoot) {
137
+ const status = execSync("git status --porcelain", {
138
+ cwd: workspaceRoot,
139
+ encoding: "utf8",
140
+ stdio: ["pipe", "pipe", "pipe"],
141
+ }).trim();
142
+ return status.length === 0;
143
+ }
144
+ export function gitAncestorOf(workspaceRoot, ancestor, descendant) {
145
+ try {
146
+ const result = execSync(`git merge-base --is-ancestor ${ancestor} ${descendant}`, {
147
+ cwd: workspaceRoot,
148
+ encoding: "utf8",
149
+ stdio: ["pipe", "pipe", "pipe"],
150
+ });
151
+ return true;
152
+ }
153
+ catch {
154
+ return false;
155
+ }
156
+ }
157
+ export function gitChangedFilesBetween(workspaceRoot, base, head) {
158
+ try {
159
+ const output = execSync(`git diff --name-only ${base}..${head}`, {
160
+ cwd: workspaceRoot,
161
+ encoding: "utf8",
162
+ stdio: ["pipe", "pipe", "pipe"],
163
+ }).trim();
164
+ return output.length === 0 ? [] : output.split("\n");
165
+ }
166
+ catch {
167
+ return [];
168
+ }
169
+ }
170
+ // ---------------------------------------------------------------------------
171
+ // Path matching (cross-platform)
172
+ // ---------------------------------------------------------------------------
173
+ /**
174
+ * Normalize a path to forward slashes for cross-platform comparison.
175
+ */
176
+ export function normalizePath(p) {
177
+ return p.replace(/\\/g, "/");
178
+ }
179
+ /**
180
+ * Resolve ".." and "." segments in a path without touching the filesystem.
181
+ * Returns the lexical normalization (e.g. "a/b/../c" → "a/c").
182
+ */
183
+ function resolveLexical(p) {
184
+ const segments = p.split("/");
185
+ const result = [];
186
+ for (const seg of segments) {
187
+ if (seg === "..") {
188
+ result.pop();
189
+ }
190
+ else if (seg !== "." && seg !== "") {
191
+ result.push(seg);
192
+ }
193
+ }
194
+ return result.join("/");
195
+ }
196
+ /**
197
+ * Check if a path matches a glob pattern. Supports:
198
+ * - `**` for recursive directory matching
199
+ * - `*` for single-level wildcard
200
+ * - exact prefix matching with trailing `/**`
201
+ */
202
+ export function pathMatchesGlob(filePath, pattern) {
203
+ const normalized = resolveLexical(normalizePath(filePath));
204
+ const glob = resolveLexical(normalizePath(pattern));
205
+ // Exact match
206
+ if (normalized === glob)
207
+ return true;
208
+ // /** suffix — prefix match
209
+ if (glob.endsWith("/**")) {
210
+ const prefix = glob.slice(0, -3);
211
+ return normalized === prefix || normalized.startsWith(prefix + "/");
212
+ }
213
+ // * wildcard matching (simplified)
214
+ const regexStr = glob
215
+ .replace(/[.+^${}()|[\]\\]/g, "\\$&")
216
+ .replace(/\*\*/g, "<<<GLOBSTAR>>>")
217
+ .replace(/\*/g, "[^/]*")
218
+ .replace(/<<<GLOBSTAR>>>/g, ".*");
219
+ const regex = new RegExp(`^${regexStr}$`);
220
+ return regex.test(normalized);
221
+ }
222
+ /**
223
+ * Check if a file path is within the allowed files list.
224
+ */
225
+ export function isPathAllowed(filePath, allowedFiles) {
226
+ const normalized = resolveLexical(normalizePath(filePath));
227
+ return allowedFiles.some((pattern) => pathMatchesGlob(normalized, pattern));
228
+ }
229
+ /**
230
+ * Check if a file path matches any forbidden pattern.
231
+ */
232
+ export function isPathForbidden(filePath, forbiddenFiles) {
233
+ const normalized = resolveLexical(normalizePath(filePath));
234
+ return forbiddenFiles.some((pattern) => pathMatchesGlob(normalized, pattern));
235
+ }
236
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../os/program/discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
2
+ import { type PacketViolation } from "../state.ts";
3
+ export interface CompleteResultData {
4
+ command: string;
5
+ status: "pass" | "fail";
6
+ program: string;
7
+ packetId: string;
8
+ filesModified: string[];
9
+ violations: PacketViolation[];
10
+ }
11
+ export declare function runComplete(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<CompleteResultData>>;
12
+ //# sourceMappingURL=complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../../../../os/program/handlers/complete.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAG/E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CA6LjD"}