faf-taf-git 2.4.0 → 2.4.2

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 (54) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +1 -1
  3. package/RECEIPT-FORMAT.md +1 -1
  4. package/dist/cli.d.ts +5 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +14 -1
  7. package/dist/cli.js.map +1 -1
  8. package/package.json +15 -2
  9. package/project.faf +32 -242
  10. package/.faf-dna +0 -95
  11. package/.fafignore +0 -41
  12. package/.github/dependabot.yml +0 -10
  13. package/.github/workflows/ci.yml +0 -53
  14. package/.github/workflows/claude-code-review.yml +0 -36
  15. package/.github/workflows/claude.yml +0 -39
  16. package/.github/workflows/homebrew.yml +0 -19
  17. package/.taf +0 -98
  18. package/CLAUDE.md +0 -38
  19. package/CODE_OF_CONDUCT.md +0 -21
  20. package/CONTRIBUTING.md +0 -289
  21. package/SECURITY.md +0 -19
  22. package/action.yml +0 -50
  23. package/agent.fafa +0 -53
  24. package/badge.svg +0 -21
  25. package/dist/bundle/index.js +0 -36554
  26. package/dist/index.js +0 -42827
  27. package/dist/index.js.map +0 -1
  28. package/dist/licenses.txt +0 -126
  29. package/dist/sourcemap-register.js +0 -1
  30. package/docs/RELEASE-NOTES.md +0 -200
  31. package/docs/USER-GUIDE.md +0 -301
  32. package/jest.config.js +0 -13
  33. package/src/badge.ts +0 -138
  34. package/src/cli.ts +0 -297
  35. package/src/index.ts +0 -201
  36. package/src/parsers/bun.ts +0 -103
  37. package/src/parsers/index.ts +0 -50
  38. package/src/parsers/jest.ts +0 -104
  39. package/src/parsers/junit.ts +0 -110
  40. package/src/parsers/vitest.ts +0 -65
  41. package/src/parsers/wjttc.ts +0 -160
  42. package/src/taf-core.ts +0 -139
  43. package/test-mcp.ts +0 -83
  44. package/test-standalone.ts +0 -87
  45. package/tests/action-bundle.test.ts +0 -34
  46. package/tests/action-parse-error.test.ts +0 -47
  47. package/tests/badge.test.ts +0 -260
  48. package/tests/bun-parser.test.ts +0 -173
  49. package/tests/jest-parser.test.ts +0 -122
  50. package/tests/junit-parser.test.ts +0 -109
  51. package/tests/vitest-parser.test.ts +0 -112
  52. package/tests/wjttc-parser.test.ts +0 -116
  53. package/tests/wjttc-taf.test.ts +0 -470
  54. package/tsconfig.json +0 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- faf: faf-taf-git | TypeScript | cli | A Test Receipt Printer for git -->
2
- <!-- faf: doc=changelog | latest=v2.4.0 | canonical=project.faf | family=TAF -->
2
+ <!-- faf: doc=changelog | latest=v2.4.2 | canonical=project.faf | family=TAF -->
3
3
 
4
4
  # Changelog
5
5
 
@@ -8,6 +8,28 @@ All notable changes to this project will be documented in this file.
8
8
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
9
9
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
10
10
 
11
+ ## [2.4.2] - 2026-10-30
12
+
13
+ undici 6.29.1 in the Action bundle (security), and the npm package ships only the CLI: 34 kB instead of 1.0 MB.
14
+
15
+ ### Security
16
+ - **undici 6.28.1 → 6.29.1** in the lockfile and the rebuilt Action bundle (`dist/index.js`). Clears 5 Dependabot alerts (TLS certificate check bypass, denial of service). undici comes in through `@actions/core`; faf-taf-git makes no HTTP requests itself, so the risk was low, but the bundle no longer carries a known-vulnerable copy.
17
+
18
+ ### Changed
19
+ - **The npm package ships only the CLI:** a `files` list in package.json. 1.0 MB → 34 kB packed, 94 → 48 files. Out: `src/`, `tests/`, `.github/`, dev configs, and the GitHub Action bundle (`dist/index.js`), which workflows run from the git tag, never from npm. The Action itself is unchanged.
20
+
21
+ ## [2.4.1] - 2026-10-30
22
+
23
+ `faf-taf-git --version` answers, and the descriptions say tamper-evident, not "cannot be gamed".
24
+
25
+ ### Fixed
26
+ - **`--version` / `-V`** print the package version and exit 0. Before, `faf-taf-git --version` fell through to "No test output file specified" and exit 1, so a stranger's first check failed (found by a cold install of the published 2.4.0). `-v` is still `--verbose`. `tests/cli-version.test.ts`.
27
+
28
+ ### Changed
29
+ - **Descriptions:** `package.json` (npm) and `action.yml` (GitHub Marketplace) no longer say "cannot be gamed"; they now read "append-only, timestamped, kept in git. Proof over time." The RECEIPT-FORMAT heading is "Tamper-evident, not tamper-proof", matching the README.
30
+ - **project.faf:** rebuilt lean from the repo (267 → 57 lines), Trophy. `.faf-dna` unchanged.
31
+ - **README recipe** pins `@v2.4.1`. The Action itself is unchanged from 2.4.0.
32
+
11
33
  ## [2.4.0] - 2026-10-29
12
34
 
13
35
  JUnit XML parser: TAF now reads the report format most test runners can write, so Python, Rust, Go, Java and .NET projects get receipts with no conversion script.
package/README.md CHANGED
@@ -76,7 +76,7 @@ jobs:
76
76
 
77
77
  - name: Print the receipt
78
78
  if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request'
79
- uses: Wolfe-Jam/faf-taf-git@v2.4.0
79
+ uses: Wolfe-Jam/faf-taf-git@v2.4.2
80
80
  with:
81
81
  test-output-file: test-output.txt
82
82
  target-branch: taf-receipts
package/RECEIPT-FORMAT.md CHANGED
@@ -15,7 +15,7 @@ A **Receipt Printer for git.** Every CI run prints one receipt — timestamp, co
15
15
  - **Git-native + portable.** The receipt lives *in the repo*, versioned — it survives a CI-vendor migration, which vendor-locked run history does not.
16
16
  - **The unique value:** a one-time green is a snapshot (gameable); *"1,847 receipts over 14 months, none missing"* is proof. The format exists to make that timeline portable and falsifiable — nothing more. Thinness is the point.
17
17
 
18
- ## Cannot be gamed — tamper-*evident* (stated honestly)
18
+ ## Tamper-*evident*, not tamper-proof
19
19
 
20
20
  Three mechanisms make tampering **visible**:
21
21
  - **Edits** → the commit SHA changes; a rewritten receipt no longer matches its commit.
package/dist/cli.d.ts CHANGED
@@ -28,3 +28,8 @@ export interface CLIResult {
28
28
  * Main CLI function - reads test output from file
29
29
  */
30
30
  export declare function runTafGit(options?: CLIOptions): Promise<CLIResult>;
31
+ /**
32
+ * The installed package's version. package.json sits one level above both
33
+ * src/ (tests) and dist/ (the published bin).
34
+ */
35
+ export declare function cliVersion(): string;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"","sourceRoot":"","sources":["file:///Users/wolfejam/FAF/faf-taf-git/src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA8G5E"}
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///Users/wolfejam/FAF/faf-taf-git/src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA8G5E;AA2ED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
package/dist/cli.js CHANGED
@@ -41,6 +41,7 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.runTafGit = runTafGit;
44
+ exports.cliVersion = cliVersion;
44
45
  const child_process_1 = require("child_process");
45
46
  const fs = __importStar(require("fs"));
46
47
  const path = __importStar(require("path"));
@@ -214,11 +215,23 @@ function handleBadgeCommand(args) {
214
215
  process.stdout.write(result.svg);
215
216
  }
216
217
  }
218
+ /**
219
+ * The installed package's version. package.json sits one level above both
220
+ * src/ (tests) and dist/ (the published bin).
221
+ */
222
+ function cliVersion() {
223
+ return JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf-8')).version;
224
+ }
217
225
  /**
218
226
  * CLI entry point
219
227
  */
220
228
  async function main() {
221
229
  const args = process.argv.slice(2);
230
+ // --version / -V (-v is --verbose)
231
+ if (args.includes('--version') || args.includes('-V')) {
232
+ console.log(cliVersion());
233
+ return;
234
+ }
222
235
  // Subcommand: badge
223
236
  if (args[0] === 'badge') {
224
237
  handleBadgeCommand(args.slice(1));
@@ -226,7 +239,7 @@ async function main() {
226
239
  }
227
240
  // Show help
228
241
  if (args.includes('--help') || args.includes('-h')) {
229
- console.log(`\nfaf-taf-git - The Git-Native Receipt Printer\n\nUSAGE:\n npm test 2>&1 | tee test-output.txt\n npx faf-taf-git --file test-output.txt [OPTIONS]\n\n # WJTTC / pc-ai bar\n node tests/wjttc/run-wjttc.mjs 2>&1 | tee wjttc-out.txt\n npx faf-taf-git --file wjttc-out.txt\n\nCOMMANDS:\n badge Generate a shields.io-style SVG badge from .taf\n\nOPTIONS:\n --file <path> Path to test output file (required)\n --commit Auto-commit .taf changes to git\n --message <msg> Custom commit message\n --cwd <dir> Working directory (default: current)\n --verbose, -v Verbose output\n --help, -h Show this help\n\nPARSERS:\n JUnit XML (pytest, cargo, Go, Java, .NET ...), Bun, WJTTC (pc-ai bar), Jest, Vitest\n\nEXAMPLES:\n npm test 2>&1 | tee test-output.txt\n npx faf-taf-git --file test-output.txt\n\n npx faf-taf-git --file test-output.txt --commit\n\n npx faf-taf-git badge --output badge.svg\n\nPLATFORM SUPPORT:\n Works in ANY CI/CD that runs Node.js:\n GitHub Actions, GitLab CI, Jenkins, CircleCI,\n Bitbucket Pipelines, Azure Pipelines, local dev\n\nLEARN MORE:\n https://github.com/Wolfe-Jam/faf-taf-git\n`);
242
+ console.log(`\nfaf-taf-git - The Git-Native Receipt Printer\n\nUSAGE:\n npm test 2>&1 | tee test-output.txt\n npx faf-taf-git --file test-output.txt [OPTIONS]\n\n # WJTTC / pc-ai bar\n node tests/wjttc/run-wjttc.mjs 2>&1 | tee wjttc-out.txt\n npx faf-taf-git --file wjttc-out.txt\n\nCOMMANDS:\n badge Generate a shields.io-style SVG badge from .taf\n\nOPTIONS:\n --file <path> Path to test output file (required)\n --commit Auto-commit .taf changes to git\n --message <msg> Custom commit message\n --cwd <dir> Working directory (default: current)\n --verbose, -v Verbose output\n --version, -V Print the version\n --help, -h Show this help\n\nPARSERS:\n JUnit XML (pytest, cargo, Go, Java, .NET ...), Bun, WJTTC (pc-ai bar), Jest, Vitest\n\nEXAMPLES:\n npm test 2>&1 | tee test-output.txt\n npx faf-taf-git --file test-output.txt\n\n npx faf-taf-git --file test-output.txt --commit\n\n npx faf-taf-git badge --output badge.svg\n\nPLATFORM SUPPORT:\n Works in ANY CI/CD that runs Node.js:\n GitHub Actions, GitLab CI, Jenkins, CircleCI,\n Bitbucket Pipelines, Azure Pipelines, local dev\n\nLEARN MORE:\n https://github.com/Wolfe-Jam/faf-taf-git\n`);
230
243
  process.exit(0);
231
244
  }
232
245
  const options = {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,24 @@
1
1
  {
2
2
  "name": "faf-taf-git",
3
- "version": "2.4.0",
4
- "description": "A Test Receipt Printer for git. Every CI run prints a receipt to .taf — append-only, timestamped, cannot be gamed. Proof over time.",
3
+ "version": "2.4.2",
4
+ "description": "A Test Receipt Printer for git. Every CI run prints a receipt to .taf — append-only, timestamped, kept in git. Proof over time.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
7
7
  "faf-taf-git": "dist/cli.js"
8
8
  },
9
+ "files": [
10
+ "dist/**/*",
11
+ "!dist/index.js",
12
+ "!dist/index.js.map",
13
+ "!dist/bundle",
14
+ "!dist/sourcemap-register.js",
15
+ "!dist/licenses.txt",
16
+ "README.md",
17
+ "RECEIPT-FORMAT.md",
18
+ "CHANGELOG.md",
19
+ "LICENSE",
20
+ "project.faf"
21
+ ],
9
22
  "scripts": {
10
23
  "build": "tsc && ncc build src/index.ts -o dist --source-map --license licenses.txt",
11
24
  "test": "jest"
package/project.faf CHANGED
@@ -1,267 +1,57 @@
1
- faf_version: 2.5.0
2
- ai_scoring_system: 2025-09-20
3
- ai_score: 65%
4
- ai_confidence: MODERATE
5
- ai_value: 30_seconds_replaces_20_minutes_of_questions
6
- ai_tldr:
7
- project: faf-taf-git v2.1.1 - A Test Receipt Printer for git. Proof over time, cannot be gamed.
8
- stack: TypeScript CLI + GitHub Action (pre-capture architecture)
9
- quality_bar: ZERO_ERRORS_F1_STANDARDS
10
- status: PRODUCTION_READY (working in faf-cli repo)
11
- breakthrough: v2.0.0 pre-capture pattern (tested 19 methods before this)
12
- current_focus: Ecosystem adoption and user onboarding
13
- your_role: Support users, fix bugs, add test framework support
14
- instant_context:
15
- what_building: A Test Receipt Printer for git. CLI runs on any CI/CD; prints append-only test receipts to .taf, kept in git. FAF-aware optionally — receipts can carry FAF score/identity, but TAF works on any repo.
16
- tech_stack: TypeScript
17
- main_language: TypeScript
18
- deployment: npm + GitHub Actions Marketplace
19
- architecture: v2.0.0 pre-capture pattern (separate test execution from receipt generation)
20
- use_cases: Standalone CLI, GitHub Action, GitLab CI, Jenkins, CircleCI, Local development
21
- test_support: Jest (fully supported) with plans for Mocha, Vitest, Pytest, Go test, Rust cargo
22
- golden_triangle: .faf (project DNA) + repo (code) + .taf (test proof)
23
- key_files:
24
- - src/index.ts (v2.0.0 rewrite - reads test output file)
25
- - src/parsers/jest.ts (v2.0.4 fix - correct pattern matching)
26
- - src/taf-core.ts (MCP-portable core)
27
- - action.yml (v2.0.2 fix - correct bundle path)
28
- - README.md (6Ws format)
29
- - CHANGELOG.md (22 versions documented)
30
- documentation:
31
- - README: 6Ws format (What/Who/Why/Where/When/How)
32
- - CHANGELOG: Complete debugging journey (v1.0.4 → v2.0.4)
33
- - Migration guide: v1.x → v2.x breaking changes
34
- context_quality:
35
- slots_filled: 11/21 (52%)
36
- ai_confidence: MODERATE
37
- handoff_ready: true
38
- missing_context: []
1
+ faf_version: "3.0"
39
2
  project:
40
3
  name: faf-taf-git
41
- goal: Platform-agnostic CLI + GitHub Action for TAF updates
42
- innovation: On-the-fly Testing Audit Files - Unheard of in CI/CD
43
- taf_meaning:
44
- file: Testing Audit File (.taf)
45
- feed: Testing Activity Feed (live updates)
4
+ goal: "A Test Receipt Printer for git. Every CI run prints a receipt to .taf: append-only, timestamped, kept in git. Proof over time."
46
5
  main_language: TypeScript
47
- type: cli
48
- generated: 2025-10-28T01:26:05.656Z
49
- repository: https://github.com/Wolfe-Jam/faf-taf-git
50
- license: MIT
51
- author: wolfejam
52
- keywords: testing, taf, ci-cd, github-actions, gitlab-ci, platform-agnostic, jest, faf, git
53
- mission: 🚀 Make Your AI Happy! 🧡 Trust-Driven 🤖
54
- revolution: 30 seconds replaces 20 minutes of questions
55
- brand: F1-Inspired Software Engineering - Championship AI Context
56
- ai_instructions:
57
- priority_order:
58
- - 1. Read THIS .faf file first
59
- - 2. Check CLAUDE.md for session context
60
- - 3. Review package.json for dependencies
61
- working_style:
62
- code_first: true
63
- explanations: minimal
64
- quality_bar: zero_errors
65
- testing: required
66
- warnings:
67
- - Never modify dial components without approval
68
- - All TypeScript must pass strict mode
69
- - Test coverage required for new features
6
+ type: cli # found: package.json bin
70
7
  stack:
71
8
  frontend: slotignored
72
9
  css_framework: slotignored
73
10
  ui_library: slotignored
74
11
  state_management: slotignored
75
12
  backend: slotignored
76
- runtime: Node.js
13
+ api_type: slotignored
14
+ runtime: slotignored
77
15
  database: slotignored
78
16
  connection: slotignored
79
- build: TypeScript Compiler
80
- package_manager: npm
81
- api_type: REST
82
- hosting: npm Registry
17
+ hosting: npm registry + GitHub Actions Marketplace
18
+ build: TypeScript (tsc)
83
19
  cicd: GitHub Actions
84
20
  monorepo_tool: slotignored
21
+ package_manager: slotignored
85
22
  workspaces: slotignored
86
23
  admin: slotignored
87
24
  cache: slotignored
88
25
  search: slotignored
89
26
  storage: slotignored
90
- targetUser: developers
91
- coreProblem: understanding project
92
- missionPurpose: project documentation
93
- packageManager: npm/yarn/pnpm
94
- mainLanguage: JavaScript/TypeScript
27
+ human_context:
28
+ who: Maintainers and teams who want proof their tests kept passing on main, and the reviewers, auditors and AI agents who check it
29
+ what: "A Test Receipt Printer for git. Every CI run prints a receipt to .taf: append-only, timestamped, kept in git. Proof over time."
30
+ why: Test results vanish when CI logs expire. Receipts stay in git, so anyone can look back and check whether main was green before a release.
31
+ where: https://github.com/Wolfe-Jam/faf-taf-git
32
+ when: v2.4.2 (2026-10-30), undici security fix + CLI-only npm package; v2.4.1 --version fix; v2.4.0 (2026-10-29) JUnit XML parser; live since v1.0.0 (2025-10-27)
33
+ how: "Run tests, save the output (or a JUnit XML report), then `uses: Wolfe-Jam/faf-taf-git@v2.4.2` with `target-branch: taf-receipts`. Anywhere else: `npx faf-taf-git --file test-output.txt --commit`. The taf-receipts branch only grows: never rewrite it."
95
34
  monorepo:
96
35
  packages_count: slotignored
97
36
  build_orchestrator: slotignored
98
37
  versioning_strategy: slotignored
99
38
  shared_configs: slotignored
100
39
  remote_cache: slotignored
101
- cli_features:
102
- commands:
103
- - npx faf-taf-git
104
- - --file (test output file - v2.0.0+)
105
- - --command (custom test command - legacy v1.x)
106
- - --commit (auto-commit .taf changes)
107
- - --verbose (detailed output)
108
- - --message (custom commit message)
109
- - --cwd (working directory)
110
- github_action_inputs:
111
- test-output-file: required (v2.0.0+)
112
- auto-commit: true (default)
113
- commit-message: "chore(taf): update .taf receipt [skip ci] (default)"
114
- architecture:
115
- version: v2.0.0
116
- pattern: pre-capture
117
- breakthrough: Separate test execution from receipt generation
118
- why: Avoids GitHub Actions execution context corruption
119
- reliability: Tested 19 methods before this solution
120
- benefits:
121
- - More reliable (no execution context issues)
122
- - Platform-agnostic (works everywhere)
123
- - Simpler (400+ lines removed, 11KB smaller)
124
- test_frameworks:
125
- - Jest (fully supported)
126
- supported_platforms:
127
- - GitHub Actions
128
- - GitLab CI
129
- - Bitbucket Pipelines
130
- - Jenkins
131
- - CircleCI
132
- - Travis CI
133
- - Azure Pipelines
134
- - Local development
135
- taf_format:
136
- format: YAML
137
- file_location: .taf (hidden dotfile)
138
- purpose: Git-tracked testing timeline - permanent proof your code works
139
- links_to_faf: true
140
- snapshots_faf_score: true
141
- closed_loop_system: .faf (DNA) + repo (code) + .taf (proof) = Golden Triangle
142
- deployment:
143
- npm_package: faf-taf-git@2.1.1
144
- github_action: Wolfe-Jam/faf-taf-git@v2.1.1
145
- marketplaces:
146
- - npm Registry
147
- - GitHub Actions Marketplace
148
- install: npx faf-taf-git
149
- production_users:
150
- - faf-cli (working in CI)
151
- testing:
152
- framework: Jest
153
- coverage: Core functionality
154
- ci_integration: GitHub Actions
155
- test_files:
156
- - tests/ (unit tests)
157
- quality_gates:
158
- - All tests must pass
159
- - TypeScript strict mode
160
- - Zero build errors
161
- examples:
162
- github_actions: README.md Quick Start section
163
- standalone_cli: README.md Standalone CLI section
164
- gitlab_ci: README.md GitLab CI section
165
- jenkins: README.md Jenkins section
166
- migration: README.md Migration from v1.x section
167
- performance:
168
- bundle_size: 1.2MB (v2.0.0 - reduced 11KB from v1.x)
169
- startup_time: <100ms
170
- parse_time: <10ms for typical Jest output
171
- reliability: 100% success rate in faf-cli CI (after v2.0.4)
172
- preferences:
173
- quality_bar: zero_errors
174
- commit_style: conventional_emoji
175
- response_style: concise_code_first
176
- explanation_level: minimal
177
- communication: direct
178
- testing: required
179
- documentation: as_needed
180
- contributing:
181
- guidelines: CONTRIBUTING.md
182
- code_style: TypeScript strict mode
183
- pr_process: Fork, branch, PR with tests
184
- commit_format: Conventional commits with Co-Authored-By
185
- testing_required: true
186
- documentation_required: For new features
187
- resources:
188
- readme: README.md (6Ws format)
189
- changelog: CHANGELOG.md (22 versions documented)
190
- license: MIT
191
- repository: https://github.com/Wolfe-Jam/faf-taf-git
192
- npm: https://npmjs.com/package/faf-taf-git
193
- issues: https://github.com/Wolfe-Jam/faf-taf-git/issues
194
- discussions: https://github.com/Wolfe-Jam/faf/discussions
195
- state:
196
- phase: production
197
- version: 2.4.0
198
- focus: ecosystem_adoption
199
- status: production_ready
200
- achievements:
201
- - v2.0.0 architectural redesign (pre-capture pattern)
202
- - v2.0.4 parser fix (working in CI)
203
- - Updated README (6Ws format)
204
- - Updated CHANGELOG (22 versions documented)
205
- - TAF Receipt generating successfully in faf-cli repo
206
- next_milestone: user_adoption
207
- blockers: null
208
- tags:
209
- auto_generated:
210
- - faf-taf-action
211
- - none
212
- - typescript
213
- smart_defaults:
214
- - .faf
215
- - ai-ready
216
- - "2025"
217
- - software
218
- - open-source
219
- user_defined: null
220
- human_context:
221
- who: Development teams adopting test-receipt provenance — open-source maintainers proving honest test history, regulated industries (SOC 2 / ISO / HIPAA) needing append-only audit trails, supply-chain verifiers proving tests ran before artifacts shipped, AI-agent reviewers verifying agent code passes tests consistently, and FAF-ecosystem projects completing the CAR Framework (Claim → Audit → Receipt).
222
- what: TAF file updates in CI/CD pipelines
223
- why: Improve development efficiency
224
- where: Any CI/CD platform (GitHub, GitLab, Bitbucket)
225
- when: During CI/CD test runs
226
- how: Test-driven development
227
- additional_context: Part of Golden Triangle (.faf + repo + .taf). Tracks test runs permanently in git. Supports Jest, works as CLI or GitHub Action. Platform-agnostic core - runs on ANY CI/CD with Node.js.
228
- context_score: 0
229
- total_prd_score: 65
230
- success_rate: 50%
231
- scores:
232
- faf_score: 50
233
- slot_based_percentage: 52
234
- ai_score: 65
235
- total_slots: 21
236
- filled_slots: 11
237
- scoring_method: Honest percentage - no fake minimums
238
- trust_embedded: COUNT ONCE architecture - trust MY embedded scores
239
- ai_scoring_details:
240
- system_date: 2025-09-20
241
- slot_based_percentage: 52
242
- ai_score: 65
243
- total_slots: 21
244
- filled_slots: 11
245
- scoring_method: Honest percentage - no fake minimums
246
- trust_embedded: COUNT ONCE architecture - trust MY embedded scores
247
- faf_dna:
248
- birth_dna: 22
249
- birth_certificate: FAF-2025-FAFTAFAC-TMZU
250
- birth_date: 2025-10-28T01:26:05.692Z
251
- current_score: 50
252
- projectName: faf-taf-git
253
- projectGoal: A Test Receipt Printer for git — append-only test receipts on every CI run. Proof over time, cannot be gamed.
254
- generated: 2026-02-17T20:14:09.215Z
255
- last_major_update: v2.0.4 (2026-02-17)
256
- production_status: Working in faf-cli repository
257
- stack_signature: typescript-nodejs-javascript
258
- detected_frameworks:
259
- - Claude Code
260
- - Jest
261
- - Node.js
262
- - JavaScript
40
+ tech_stack:
263
41
  - TypeScript
264
- turbo_cat_intelligence: 260
265
- stats:
266
- last_auto_time: 0.6
267
- times_run: 1
42
+ - "@actions/core"
43
+ - "@actions/exec"
44
+ - "@actions/github"
45
+ - yaml
46
+ key_files:
47
+ - package.json
48
+ - src/index.ts
49
+ - src/cli.ts
50
+ - src/parsers/
51
+ - action.yml
52
+ - RECEIPT-FORMAT.md
53
+ - README.md
54
+ - tsconfig.json
55
+ commands:
56
+ build: npm run build
57
+ test: npm run test
package/.faf-dna DELETED
@@ -1,95 +0,0 @@
1
- {
2
- "birthCertificate": {
3
- "born": "2025-10-28T01:26:05.692Z",
4
- "birthDNA": 22,
5
- "birthDNASource": "CLAUDE.md",
6
- "projectDNA": "1785d1ac1c20876b",
7
- "authenticated": false,
8
- "certificate": "FAF-2025-FAFTAFAC-TMZU"
9
- },
10
- "versions": [
11
- {
12
- "version": "v1.0.0",
13
- "timestamp": "2025-10-28T01:26:05.693Z",
14
- "score": 22,
15
- "changes": [
16
- "Initial context from CLAUDE.md"
17
- ],
18
- "approved": false,
19
- "growth": 0,
20
- "growthRate": 0
21
- },
22
- {
23
- "version": "v1.0.1",
24
- "timestamp": "2025-10-28T01:26:05.721Z",
25
- "score": 50,
26
- "changes": [
27
- "Initial .faf generation from project"
28
- ],
29
- "approved": false,
30
- "growth": 28,
31
- "growthRate": 28
32
- }
33
- ],
34
- "current": {
35
- "version": "v1.0.1",
36
- "score": 50,
37
- "approved": false,
38
- "lastSync": "2025-10-28T01:26:05.721Z"
39
- },
40
- "recovery": {
41
- "claudeMD": "/Users/wolfejam/FAF/faf-taf-action/CLAUDE.md",
42
- "lastBackup": "2025-10-28T01:26:05.693Z",
43
- "syncStatus": "active",
44
- "autoRecover": true
45
- },
46
- "growth": {
47
- "totalGrowth": 28,
48
- "daysActive": 0,
49
- "averageDailyGrowth": 28,
50
- "bestDay": {
51
- "date": "2025-10-28T01:26:05.721Z",
52
- "growth": 28
53
- },
54
- "bestWeek": {
55
- "start": "2025-10-28T01:26:05.693Z",
56
- "growth": 0
57
- },
58
- "milestones": [
59
- {
60
- "type": "birth",
61
- "score": 22,
62
- "date": "2025-10-28T01:26:05.693Z",
63
- "version": "v1.0.0",
64
- "label": "Birth",
65
- "emoji": "🐣"
66
- },
67
- {
68
- "type": "doubled",
69
- "score": 50,
70
- "date": "2025-10-28T01:26:05.721Z",
71
- "version": "v1.0.1",
72
- "label": "Doubled",
73
- "emoji": "2️⃣"
74
- },
75
- {
76
- "type": "peak",
77
- "score": 50,
78
- "date": "2025-10-28T01:26:05.721Z",
79
- "version": "v1.0.1",
80
- "label": "Peak",
81
- "emoji": "🏔️"
82
- },
83
- {
84
- "type": "current",
85
- "score": 50,
86
- "date": "2025-10-28T01:26:05.721Z",
87
- "version": "v1.0.1",
88
- "label": "Current",
89
- "emoji": "📍"
90
- }
91
- ]
92
- },
93
- "lastModified": "2025-10-28T01:26:05.721Z",
94
- "format": "faf-dna-v1"
95
- }
package/.fafignore DELETED
@@ -1,41 +0,0 @@
1
- # .fafignore - Exclude files/directories from .faf context
2
- # Similar to .gitignore syntax
3
- # Lines starting with # are comments
4
-
5
- # Dependencies and build outputs
6
- node_modules/
7
- dist/
8
- build/
9
- coverage/
10
-
11
- # Python environments
12
- __pycache__/
13
- venv/
14
- .venv/
15
-
16
- # IDE and system files
17
- .vscode/
18
- .idea/
19
- .DS_Store
20
-
21
- # Sensitive files
22
- .env
23
- .env.*
24
- *.key
25
- *.pem
26
-
27
- # Logs and temporary files
28
- *.log
29
- logs/
30
- tmp/
31
- temp/
32
-
33
- # Large media files
34
- *.jpg
35
- *.png
36
- *.mp4
37
- *.pdf
38
-
39
- # Custom exclusions (add your own below)
40
- # example: my-large-data-folder/
41
- # example: *.generated.ts
@@ -1,10 +0,0 @@
1
- version: 2
2
- updates:
3
- # Keeps workflow `uses:` pins current (e.g. Wolfe-Jam/faf-taf-git) so they
4
- # don't drift behind new releases. Security alerts don't need this file.
5
- - package-ecosystem: "github-actions"
6
- directory: "/"
7
- schedule:
8
- interval: "monthly"
9
- commit-message:
10
- prefix: "ci"