trace-to-skill 0.1.110 → 0.1.111

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
@@ -527,6 +527,7 @@ Stable machine-readable contracts are published with the npm package and release
527
527
  - [`schemas/usage-evidence-result.schema.json`](schemas/usage-evidence-result.schema.json) describes `trace-to-skill usage-evidence --format json`.
528
528
  - [`schemas/process-audit-result.schema.json`](schemas/process-audit-result.schema.json) describes `trace-to-skill process-audit --format json`.
529
529
  - [`schemas/issue-map-result.schema.json`](schemas/issue-map-result.schema.json) describes `trace-to-skill issue-map --format json`.
530
+ - [`schemas/duplicate-audit-action-outputs.schema.json`](schemas/duplicate-audit-action-outputs.schema.json) describes the duplicate-audit Action output mapping in `fixtures/duplicate-audit-action-outputs.json`.
530
531
  - [`schemas/workspace-checkpoint-result.schema.json`](schemas/workspace-checkpoint-result.schema.json) describes `trace-to-skill checkpoint --format json`.
531
532
 
532
533
  These schemas let downstream Codex workflows, dashboards, and CI bots consume reports without scraping Markdown.
@@ -559,7 +560,7 @@ jobs:
559
560
  issues: write
560
561
  steps:
561
562
  - uses: actions/checkout@v5
562
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
563
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
563
564
  with:
564
565
  mode: all
565
566
  doctor-threshold: "85"
@@ -608,7 +609,7 @@ Composite action usage:
608
609
 
609
610
  ```yaml
610
611
  - id: trace-to-skill
611
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
612
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
612
613
  with:
613
614
  mode: all
614
615
  doctor-threshold: "85"
@@ -626,7 +627,7 @@ Issue-map action usage for direct GitHub issue demand mining:
626
627
 
627
628
  ```yaml
628
629
  - id: codex-issue-map
629
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
630
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
630
631
  with:
631
632
  mode: issue-map
632
633
  issue-map-repo: openai/codex
@@ -643,7 +644,7 @@ Issue-heat action usage for recency-weighted GitHub issue movement:
643
644
 
644
645
  ```yaml
645
646
  - id: codex-issue-heat
646
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
647
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
647
648
  with:
648
649
  mode: issue-heat
649
650
  issue-heat-repo: openai/codex
@@ -661,7 +662,7 @@ Duplicate-audit action usage for checking Codex Action duplicate suggestions:
661
662
 
662
663
  ```yaml
663
664
  - id: codex-duplicate-audit
664
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
665
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
665
666
  with:
666
667
  mode: duplicate-audit
667
668
  duplicate-audit-repo: openai/codex
@@ -717,9 +718,24 @@ Action outputs:
717
718
  | `duplicate-audit-report` | Markdown duplicate-audit report path |
718
719
  | `duplicate-audit-json` | JSON duplicate-audit report path |
719
720
 
721
+ Duplicate-audit Action output mapping:
722
+
723
+ | Output | Step output | Source |
724
+ | --- | --- | --- |
725
+ | `duplicate-audit-candidates` | `candidates` | `summary.candidateCount` |
726
+ | `duplicate-audit-likely` | `likely` | `summary.likelyDuplicates` |
727
+ | `duplicate-audit-related` | `related` | `summary.relatedNotDuplicates` |
728
+ | `duplicate-audit-needs-review` | `needs-review` | `summary.needsHumanReview` |
729
+ | `duplicate-audit-weak` | `weak` | `summary.weakMatches` |
730
+ | `duplicate-audit-top-verdict` | `top-verdict` | `candidates[].verdict` |
731
+ | `duplicate-audit-report` | `report` | `trace-to-skill-duplicate-audit.md` |
732
+ | `duplicate-audit-json` | `json` | `trace-to-skill-duplicate-audit.json` |
733
+
734
+ The machine-readable mapping lives in [`fixtures/duplicate-audit-action-outputs.json`](fixtures/duplicate-audit-action-outputs.json) and is described by [`schemas/duplicate-audit-action-outputs.schema.json`](schemas/duplicate-audit-action-outputs.schema.json). The regression test checks that JSON-derived outputs point at fields in [`schemas/duplicate-audit-result.schema.json`](schemas/duplicate-audit-result.schema.json).
735
+
720
736
  By default, generated reports are also appended to the GitHub Actions Job Summary. Set `job-summary: "false"` to disable that UI output.
721
737
 
722
- Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.110` executes that release's checked-out source instead of pulling the default branch at runtime.
738
+ Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.111` executes that release's checked-out source instead of pulling the default branch at runtime.
723
739
 
724
740
  Action inputs are passed into bash steps through environment variables before the CLI receives them. The regression fixture at `fixtures/action-malicious-inputs.json` keeps quote, newline, command-substitution, and shell-separator examples out of `run:` scripts so workflow inputs are treated as data.
725
741
 
@@ -12,6 +12,21 @@ trace-to-skill duplicate-audit --repo openai/codex --issue 25507 --format markdo
12
12
  trace-to-skill duplicate-audit duplicate-audit.json --format json
13
13
  ```
14
14
 
15
+ ## Action Output Mapping
16
+
17
+ | Output | Step output | Source |
18
+ | --- | --- | --- |
19
+ | `duplicate-audit-candidates` | `candidates` | `summary.candidateCount` |
20
+ | `duplicate-audit-likely` | `likely` | `summary.likelyDuplicates` |
21
+ | `duplicate-audit-related` | `related` | `summary.relatedNotDuplicates` |
22
+ | `duplicate-audit-needs-review` | `needs-review` | `summary.needsHumanReview` |
23
+ | `duplicate-audit-weak` | `weak` | `summary.weakMatches` |
24
+ | `duplicate-audit-top-verdict` | `top-verdict` | `candidates[].verdict` |
25
+ | `duplicate-audit-report` | `report` | `trace-to-skill-duplicate-audit.md` |
26
+ | `duplicate-audit-json` | `json` | `trace-to-skill-duplicate-audit.json` |
27
+
28
+ The machine-readable mapping lives in `fixtures/duplicate-audit-action-outputs.json`; `schemas/duplicate-audit-action-outputs.schema.json` describes that fixture, and JSON-derived outputs must point at fields in `schemas/duplicate-audit-result.schema.json`.
29
+
15
30
  ## Summary
16
31
 
17
32
  - Candidates: 2
@@ -3,7 +3,7 @@
3
3
  | Field | Value |
4
4
  | --- | --- |
5
5
  | Repository | https://github.com/grnbtqdbyx-create/trace-to-skill |
6
- | Package | trace-to-skill@0.1.110 |
6
+ | Package | trace-to-skill@0.1.111 |
7
7
  | License | Apache-2.0 |
8
8
  | Codex readiness | ready (100/100) |
9
9
  | Benchmark | pass, 46 cases |
@@ -27,7 +27,7 @@ API credits would power optional maintainer workflows on top of the local determ
27
27
  ## Evidence
28
28
 
29
29
  - Public repository: https://github.com/grnbtqdbyx-create/trace-to-skill
30
- - One-command package: npx trace-to-skill@0.1.110
30
+ - One-command package: npx trace-to-skill@0.1.111
31
31
  - Open-source license: Apache-2.0
32
32
  - Codex readiness doctor: ready, 100/100, 0 failed checks.
33
33
  - Public fixture benchmark: pass, 46 cases.
package/docs/USE_CASES.md CHANGED
@@ -61,7 +61,7 @@ What it proves:
61
61
  Recommended CI surface:
62
62
 
63
63
  ```yaml
64
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
64
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
65
65
  with:
66
66
  mode: all
67
67
  doctor-threshold: "85"
@@ -74,7 +74,7 @@ Recommended CI surface:
74
74
  Duplicate-audit Action mode can also run from CI when you want a stable job summary for Codex Action duplicate suggestions:
75
75
 
76
76
  ```yaml
77
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
77
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
78
78
  with:
79
79
  mode: duplicate-audit
80
80
  duplicate-audit-repo: openai/codex
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "../schemas/duplicate-audit-action-outputs.schema.json",
3
+ "action": "duplicate-audit",
4
+ "outputs": [
5
+ {
6
+ "actionOutput": "duplicate-audit-candidates",
7
+ "stepOutput": "candidates",
8
+ "kind": "json-field",
9
+ "jsonPath": "summary.candidateCount",
10
+ "type": "integer",
11
+ "description": "Number of duplicate candidates checked."
12
+ },
13
+ {
14
+ "actionOutput": "duplicate-audit-likely",
15
+ "stepOutput": "likely",
16
+ "kind": "json-field",
17
+ "jsonPath": "summary.likelyDuplicates",
18
+ "type": "integer",
19
+ "description": "Number of candidates scored as likely duplicates."
20
+ },
21
+ {
22
+ "actionOutput": "duplicate-audit-related",
23
+ "stepOutput": "related",
24
+ "kind": "json-field",
25
+ "jsonPath": "summary.relatedNotDuplicates",
26
+ "type": "integer",
27
+ "description": "Number of candidates that are related but not exact duplicates."
28
+ },
29
+ {
30
+ "actionOutput": "duplicate-audit-needs-review",
31
+ "stepOutput": "needs-review",
32
+ "kind": "json-field",
33
+ "jsonPath": "summary.needsHumanReview",
34
+ "type": "integer",
35
+ "description": "Number of candidates that need maintainer review."
36
+ },
37
+ {
38
+ "actionOutput": "duplicate-audit-weak",
39
+ "stepOutput": "weak",
40
+ "kind": "json-field",
41
+ "jsonPath": "summary.weakMatches",
42
+ "type": "integer",
43
+ "description": "Number of weak duplicate matches."
44
+ },
45
+ {
46
+ "actionOutput": "duplicate-audit-top-verdict",
47
+ "stepOutput": "top-verdict",
48
+ "kind": "json-field",
49
+ "jsonPath": "candidates[].verdict",
50
+ "type": "string",
51
+ "description": "Highest-confidence duplicate verdict, or an empty string when there are no candidates."
52
+ },
53
+ {
54
+ "actionOutput": "duplicate-audit-report",
55
+ "stepOutput": "report",
56
+ "kind": "artifact-path",
57
+ "path": "trace-to-skill-duplicate-audit.md",
58
+ "type": "path",
59
+ "description": "Markdown duplicate-audit report path generated by the Action."
60
+ },
61
+ {
62
+ "actionOutput": "duplicate-audit-json",
63
+ "stepOutput": "json",
64
+ "kind": "artifact-path",
65
+ "path": "trace-to-skill-duplicate-audit.json",
66
+ "type": "path",
67
+ "description": "JSON duplicate-audit report path conforming to schemas/duplicate-audit-result.schema.json."
68
+ }
69
+ ]
70
+ }
package/llms.txt CHANGED
@@ -146,7 +146,7 @@ gh issue list --repo openai/codex --state all --limit 100 --json number,title,bo
146
146
  ## GitHub Action
147
147
 
148
148
  ```yaml
149
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
149
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
150
150
  with:
151
151
  mode: all
152
152
  doctor-threshold: "85"
@@ -159,7 +159,7 @@ gh issue list --repo openai/codex --state all --limit 100 --json number,title,bo
159
159
  ## Weekly Codex Issue Radar
160
160
 
161
161
  ```yaml
162
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
162
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
163
163
  with:
164
164
  mode: issue-map
165
165
  issue-map-repo: openai/codex
@@ -174,7 +174,7 @@ gh issue list --repo openai/codex --state all --limit 100 --json number,title,bo
174
174
  Duplicate audit Action mode:
175
175
 
176
176
  ```yaml
177
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.110
177
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.111
178
178
  with:
179
179
  mode: duplicate-audit
180
180
  duplicate-audit-repo: openai/codex
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trace-to-skill",
3
- "version": "0.1.110",
3
+ "version": "0.1.111",
4
4
  "description": "Turn failed AI coding-agent runs into reusable AGENTS.md rules, SKILL.md files, and eval evidence.",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/grnbtqdbyx-create/trace-to-skill/main/schemas/duplicate-audit-action-outputs.schema.json",
4
+ "title": "trace-to-skill duplicate-audit Action output mapping",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["action", "outputs"],
8
+ "properties": {
9
+ "action": {
10
+ "type": "string",
11
+ "const": "duplicate-audit"
12
+ },
13
+ "outputs": {
14
+ "type": "array",
15
+ "minItems": 1,
16
+ "items": {
17
+ "$ref": "#/$defs/outputMapping"
18
+ }
19
+ }
20
+ },
21
+ "$defs": {
22
+ "outputMapping": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["actionOutput", "stepOutput", "kind", "description"],
26
+ "properties": {
27
+ "actionOutput": {
28
+ "type": "string",
29
+ "pattern": "^duplicate-audit-[a-z0-9-]+$"
30
+ },
31
+ "stepOutput": {
32
+ "type": "string",
33
+ "pattern": "^[a-z0-9-]+$"
34
+ },
35
+ "kind": {
36
+ "type": "string",
37
+ "enum": ["json-field", "artifact-path"]
38
+ },
39
+ "jsonPath": {
40
+ "type": "string",
41
+ "pattern": "^[A-Za-z0-9_.\\[\\]-]+$"
42
+ },
43
+ "path": {
44
+ "type": "string"
45
+ },
46
+ "type": {
47
+ "type": "string",
48
+ "enum": ["integer", "string", "path"]
49
+ },
50
+ "description": {
51
+ "type": "string"
52
+ }
53
+ },
54
+ "allOf": [
55
+ {
56
+ "if": {
57
+ "properties": {
58
+ "kind": {
59
+ "const": "json-field"
60
+ }
61
+ },
62
+ "required": ["kind"]
63
+ },
64
+ "then": {
65
+ "required": ["jsonPath", "type"],
66
+ "not": {
67
+ "required": ["path"]
68
+ }
69
+ }
70
+ },
71
+ {
72
+ "if": {
73
+ "properties": {
74
+ "kind": {
75
+ "const": "artifact-path"
76
+ }
77
+ },
78
+ "required": ["kind"]
79
+ },
80
+ "then": {
81
+ "required": ["path", "type"],
82
+ "not": {
83
+ "required": ["jsonPath"]
84
+ }
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ }
90
+ }