xone-agent-failure-packet 0.4.1__tar.gz
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.
- xone_agent_failure_packet-0.4.1/CHANGELOG.md +45 -0
- xone_agent_failure_packet-0.4.1/LICENSE +21 -0
- xone_agent_failure_packet-0.4.1/MANIFEST.in +8 -0
- xone_agent_failure_packet-0.4.1/PKG-INFO +164 -0
- xone_agent_failure_packet-0.4.1/README.md +150 -0
- xone_agent_failure_packet-0.4.1/README.zh-CN.md +150 -0
- xone_agent_failure_packet-0.4.1/action.yml +49 -0
- xone_agent_failure_packet-0.4.1/docs/homebrew.md +37 -0
- xone_agent_failure_packet-0.4.1/docs/product-foundation.md +94 -0
- xone_agent_failure_packet-0.4.1/docs/publishing.md +76 -0
- xone_agent_failure_packet-0.4.1/docs/superpowers/specs/2026-06-13-packet-builder-design.md +172 -0
- xone_agent_failure_packet-0.4.1/ops/constraints/main-entry.md +6 -0
- xone_agent_failure_packet-0.4.1/ops/constraints/production.md +14 -0
- xone_agent_failure_packet-0.4.1/ops/opt-overlay.md +17 -0
- xone_agent_failure_packet-0.4.1/ops/skills/evolution.md +25 -0
- xone_agent_failure_packet-0.4.1/pyproject.toml +25 -0
- xone_agent_failure_packet-0.4.1/scripts/run-action.py +60 -0
- xone_agent_failure_packet-0.4.1/setup.cfg +4 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/__init__.py +1 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/__main__.py +5 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/builder.py +71 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/cli.py +71 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/config.py +50 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/redaction.py +100 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/renderers.py +72 -0
- xone_agent_failure_packet-0.4.1/src/agent_failure_packet/schema.py +23 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/PKG-INFO +164 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/SOURCES.txt +37 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/dependency_links.txt +1 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/entry_points.txt +2 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/requires.txt +5 -0
- xone_agent_failure_packet-0.4.1/src/xone_agent_failure_packet.egg-info/top_level.txt +1 -0
- xone_agent_failure_packet-0.4.1/tests/fixtures/runs/codex-cli-failure-v1.json +45 -0
- xone_agent_failure_packet-0.4.1/tests/fixtures/runs/generic-failure-v1.json +45 -0
- xone_agent_failure_packet-0.4.1/tests/fixtures/runs/github-copilot-agent-failure-v1.json +40 -0
- xone_agent_failure_packet-0.4.1/tests/fixtures/snapshots/incident-generic.md +49 -0
- xone_agent_failure_packet-0.4.1/tests/test_docs.py +46 -0
- xone_agent_failure_packet-0.4.1/tests/test_github_action.py +67 -0
- xone_agent_failure_packet-0.4.1/tests/test_packet_builder.py +208 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.4.1
|
|
4
|
+
|
|
5
|
+
Distribution release.
|
|
6
|
+
|
|
7
|
+
- Add package publishing workflow and distribution documentation.
|
|
8
|
+
- Prepare a release tag that includes the PyPI/TestPyPI publishing workflow.
|
|
9
|
+
|
|
10
|
+
## 0.4.0
|
|
11
|
+
|
|
12
|
+
GitHub Action release.
|
|
13
|
+
|
|
14
|
+
- Add a read-only composite GitHub Action for building failure packets in CI.
|
|
15
|
+
- Add `scripts/run-action.py` to write packets, step summaries, and downstream outputs.
|
|
16
|
+
- Expose `packet-path` and `summary-json` Action outputs.
|
|
17
|
+
- Keep Action behavior local and non-commenting by default.
|
|
18
|
+
|
|
19
|
+
## 0.3.0
|
|
20
|
+
|
|
21
|
+
Configuration and compatibility release.
|
|
22
|
+
|
|
23
|
+
- Add `agent-failure-packet init` for local project configuration.
|
|
24
|
+
- Add config auto-discovery from `.agent-failure-packet.yml`.
|
|
25
|
+
- Add `agent-failure-packet validate` for run export schema checks.
|
|
26
|
+
- Add Markdown snapshot coverage to detect accidental packet structure drift.
|
|
27
|
+
|
|
28
|
+
## 0.2.0
|
|
29
|
+
|
|
30
|
+
runtime fixture corpus and output profile release.
|
|
31
|
+
|
|
32
|
+
- Add Codex CLI and GitHub Copilot agent-style failure fixtures.
|
|
33
|
+
- Add Markdown output profiles: `incident` for full review and `issue` for compact sharing.
|
|
34
|
+
- Redact secret-like query parameters while preserving documented placeholder credentials.
|
|
35
|
+
- Expand fixture coverage for real-world agent failure shapes.
|
|
36
|
+
|
|
37
|
+
## 0.1.0
|
|
38
|
+
|
|
39
|
+
Initial local packet builder release.
|
|
40
|
+
|
|
41
|
+
- Add `agent-failure-packet build` for Markdown and JSON packet output.
|
|
42
|
+
- Add generic `agent-failure-packet.run.v1` input support.
|
|
43
|
+
- Add `agent-failure-packet.packet.v1` output packets.
|
|
44
|
+
- Add default and user-extended redaction before rendering.
|
|
45
|
+
- Add fixture-backed tests for schema validation, rendering, CLI behavior, and redaction.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 X-One-AI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: xone-agent-failure-packet
|
|
3
|
+
Version: 0.4.1
|
|
4
|
+
Summary: Create redacted, shareable debug packets from failed AI agent runs.
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
Requires-Python: >=3.11
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Dist: PyYAML>=6
|
|
10
|
+
Provides-Extra: dev
|
|
11
|
+
Requires-Dist: build>=1; extra == "dev"
|
|
12
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
|
|
15
|
+
# agent-failure-packet
|
|
16
|
+
|
|
17
|
+
Languages: English | [中文](./README.zh-CN.md)
|
|
18
|
+
|
|
19
|
+
Create redacted, shareable debug packets from failed AI agent runs.
|
|
20
|
+
|
|
21
|
+
## Status
|
|
22
|
+
|
|
23
|
+
`P1` - v0.4.1 local packet builder and read-only GitHub Action.
|
|
24
|
+
|
|
25
|
+
## Purpose
|
|
26
|
+
|
|
27
|
+
Turn messy failed agent runs into safe evidence for issues, PRs, and incident review.
|
|
28
|
+
|
|
29
|
+
## First Production Surface
|
|
30
|
+
|
|
31
|
+
Local packet builder that accepts runtime exports and emits a redacted bundle.
|
|
32
|
+
|
|
33
|
+
The first executable surface is specified in [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md).
|
|
34
|
+
|
|
35
|
+
## Install
|
|
36
|
+
|
|
37
|
+
From PyPI after publication:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python3 -m pip install xone-agent-failure-packet
|
|
41
|
+
agent-failure-packet --version
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
From Homebrew after tap update:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
brew install x-one-ai/tap/agent-failure-packet
|
|
48
|
+
agent-failure-packet --version
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
From this repository:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
python3 -m pip install -e .
|
|
55
|
+
agent-failure-packet --version
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
Build a Markdown packet from a generic run export:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
agent-failure-packet init --profile issue
|
|
64
|
+
agent-failure-packet validate --input failed-run.json
|
|
65
|
+
agent-failure-packet build --input tests/fixtures/runs/generic-failure-v1.json
|
|
66
|
+
agent-failure-packet build --input failed-run.json --format markdown --output failure-packet.md
|
|
67
|
+
agent-failure-packet build --input failed-run.json --format json --output failure-packet.json
|
|
68
|
+
agent-failure-packet build --input failed-run.json --profile issue --output issue-packet.md
|
|
69
|
+
agent-failure-packet build --input failed-run.json --redaction-policy .agent-failure-packet.yml
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Input files use `schema_version: agent-failure-packet.run.v1`. JSON outputs use `schema_version: agent-failure-packet.packet.v1`.
|
|
73
|
+
|
|
74
|
+
`agent-failure-packet build` auto-discovers `.agent-failure-packet.yml` from the current directory or its parents:
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
schema_version: 1
|
|
78
|
+
profile: issue
|
|
79
|
+
# redaction_policy: .agent-failure-packet-redaction.yml
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Markdown profiles:
|
|
83
|
+
|
|
84
|
+
- `incident`: full packet with timeline, tool calls, errors, environment, redaction summary, checklist, and limitations.
|
|
85
|
+
- `issue`: compact packet for GitHub issues or support tickets; omits deeper tool-call and environment sections.
|
|
86
|
+
|
|
87
|
+
Fixture corpus:
|
|
88
|
+
|
|
89
|
+
- `generic-failure-v1.json`
|
|
90
|
+
- `codex-cli-failure-v1.json`
|
|
91
|
+
- `github-copilot-agent-failure-v1.json`
|
|
92
|
+
|
|
93
|
+
Example custom redaction policy:
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
literals:
|
|
97
|
+
- internal-customer-id
|
|
98
|
+
regexes:
|
|
99
|
+
- INTERNAL-[0-9]+
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The default redaction policy cannot be disabled. The tool is local-first: it does not upload packet data, call a hosted service, or post comments.
|
|
103
|
+
|
|
104
|
+
## GitHub Action
|
|
105
|
+
|
|
106
|
+
Use the Action after checkout and point it at a failure export produced by your agent workflow:
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
name: Agent Failure Packet
|
|
110
|
+
|
|
111
|
+
on:
|
|
112
|
+
workflow_dispatch:
|
|
113
|
+
|
|
114
|
+
permissions:
|
|
115
|
+
contents: read
|
|
116
|
+
|
|
117
|
+
jobs:
|
|
118
|
+
packet:
|
|
119
|
+
runs-on: ubuntu-latest
|
|
120
|
+
steps:
|
|
121
|
+
- uses: actions/checkout@v6
|
|
122
|
+
- uses: X-One-AI/agent-failure-packet@v0.4.1
|
|
123
|
+
with:
|
|
124
|
+
input: failed-run.json
|
|
125
|
+
profile: issue
|
|
126
|
+
output: agent-failure-packet.md
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The Action writes a packet file, appends a compact packet to `GITHUB_STEP_SUMMARY`, and exposes `packet-path` and `summary-json` outputs. It is read-only and does not post PR comments.
|
|
130
|
+
|
|
131
|
+
## Required Evidence
|
|
132
|
+
|
|
133
|
+
- timeline
|
|
134
|
+
- tool calls
|
|
135
|
+
- errors
|
|
136
|
+
- redaction summary
|
|
137
|
+
- environment summary
|
|
138
|
+
|
|
139
|
+
## Non-Goals
|
|
140
|
+
|
|
141
|
+
- not a full tracing platform
|
|
142
|
+
- not a hosted observability backend
|
|
143
|
+
- not raw prompt/log sharing
|
|
144
|
+
- not complete security coverage for every organization-specific secret
|
|
145
|
+
|
|
146
|
+
## OPT Operating Model
|
|
147
|
+
|
|
148
|
+
This project references the shared One Person Team workflow through [ops/opt-overlay.md](./ops/opt-overlay.md). Project-specific constraints live under [ops/constraints](./ops/constraints), and evolvable local skills live under [ops/skills](./ops/skills).
|
|
149
|
+
|
|
150
|
+
## Blocked Inputs
|
|
151
|
+
|
|
152
|
+
Inputs that require user or real-world data are recorded in `../x-one-skipped-inputs.md` and should not block foundation work.
|
|
153
|
+
|
|
154
|
+
## Docs
|
|
155
|
+
|
|
156
|
+
- [Product Foundation](./docs/product-foundation.md)
|
|
157
|
+
- [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md)
|
|
158
|
+
- [Changelog](./CHANGELOG.md)
|
|
159
|
+
- [Publishing](./docs/publishing.md)
|
|
160
|
+
- [Homebrew Packaging](./docs/homebrew.md)
|
|
161
|
+
- [OPT Overlay](./ops/opt-overlay.md)
|
|
162
|
+
- [Production Constraints](./ops/constraints/production.md)
|
|
163
|
+
- [Main Entry Constraints](./ops/constraints/main-entry.md)
|
|
164
|
+
- [Skill Evolution](./ops/skills/evolution.md)
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# agent-failure-packet
|
|
2
|
+
|
|
3
|
+
Languages: English | [中文](./README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
Create redacted, shareable debug packets from failed AI agent runs.
|
|
6
|
+
|
|
7
|
+
## Status
|
|
8
|
+
|
|
9
|
+
`P1` - v0.4.1 local packet builder and read-only GitHub Action.
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Turn messy failed agent runs into safe evidence for issues, PRs, and incident review.
|
|
14
|
+
|
|
15
|
+
## First Production Surface
|
|
16
|
+
|
|
17
|
+
Local packet builder that accepts runtime exports and emits a redacted bundle.
|
|
18
|
+
|
|
19
|
+
The first executable surface is specified in [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md).
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
From PyPI after publication:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
python3 -m pip install xone-agent-failure-packet
|
|
27
|
+
agent-failure-packet --version
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
From Homebrew after tap update:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
brew install x-one-ai/tap/agent-failure-packet
|
|
34
|
+
agent-failure-packet --version
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
From this repository:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python3 -m pip install -e .
|
|
41
|
+
agent-failure-packet --version
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
Build a Markdown packet from a generic run export:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
agent-failure-packet init --profile issue
|
|
50
|
+
agent-failure-packet validate --input failed-run.json
|
|
51
|
+
agent-failure-packet build --input tests/fixtures/runs/generic-failure-v1.json
|
|
52
|
+
agent-failure-packet build --input failed-run.json --format markdown --output failure-packet.md
|
|
53
|
+
agent-failure-packet build --input failed-run.json --format json --output failure-packet.json
|
|
54
|
+
agent-failure-packet build --input failed-run.json --profile issue --output issue-packet.md
|
|
55
|
+
agent-failure-packet build --input failed-run.json --redaction-policy .agent-failure-packet.yml
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Input files use `schema_version: agent-failure-packet.run.v1`. JSON outputs use `schema_version: agent-failure-packet.packet.v1`.
|
|
59
|
+
|
|
60
|
+
`agent-failure-packet build` auto-discovers `.agent-failure-packet.yml` from the current directory or its parents:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
schema_version: 1
|
|
64
|
+
profile: issue
|
|
65
|
+
# redaction_policy: .agent-failure-packet-redaction.yml
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Markdown profiles:
|
|
69
|
+
|
|
70
|
+
- `incident`: full packet with timeline, tool calls, errors, environment, redaction summary, checklist, and limitations.
|
|
71
|
+
- `issue`: compact packet for GitHub issues or support tickets; omits deeper tool-call and environment sections.
|
|
72
|
+
|
|
73
|
+
Fixture corpus:
|
|
74
|
+
|
|
75
|
+
- `generic-failure-v1.json`
|
|
76
|
+
- `codex-cli-failure-v1.json`
|
|
77
|
+
- `github-copilot-agent-failure-v1.json`
|
|
78
|
+
|
|
79
|
+
Example custom redaction policy:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
literals:
|
|
83
|
+
- internal-customer-id
|
|
84
|
+
regexes:
|
|
85
|
+
- INTERNAL-[0-9]+
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The default redaction policy cannot be disabled. The tool is local-first: it does not upload packet data, call a hosted service, or post comments.
|
|
89
|
+
|
|
90
|
+
## GitHub Action
|
|
91
|
+
|
|
92
|
+
Use the Action after checkout and point it at a failure export produced by your agent workflow:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
name: Agent Failure Packet
|
|
96
|
+
|
|
97
|
+
on:
|
|
98
|
+
workflow_dispatch:
|
|
99
|
+
|
|
100
|
+
permissions:
|
|
101
|
+
contents: read
|
|
102
|
+
|
|
103
|
+
jobs:
|
|
104
|
+
packet:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v6
|
|
108
|
+
- uses: X-One-AI/agent-failure-packet@v0.4.1
|
|
109
|
+
with:
|
|
110
|
+
input: failed-run.json
|
|
111
|
+
profile: issue
|
|
112
|
+
output: agent-failure-packet.md
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The Action writes a packet file, appends a compact packet to `GITHUB_STEP_SUMMARY`, and exposes `packet-path` and `summary-json` outputs. It is read-only and does not post PR comments.
|
|
116
|
+
|
|
117
|
+
## Required Evidence
|
|
118
|
+
|
|
119
|
+
- timeline
|
|
120
|
+
- tool calls
|
|
121
|
+
- errors
|
|
122
|
+
- redaction summary
|
|
123
|
+
- environment summary
|
|
124
|
+
|
|
125
|
+
## Non-Goals
|
|
126
|
+
|
|
127
|
+
- not a full tracing platform
|
|
128
|
+
- not a hosted observability backend
|
|
129
|
+
- not raw prompt/log sharing
|
|
130
|
+
- not complete security coverage for every organization-specific secret
|
|
131
|
+
|
|
132
|
+
## OPT Operating Model
|
|
133
|
+
|
|
134
|
+
This project references the shared One Person Team workflow through [ops/opt-overlay.md](./ops/opt-overlay.md). Project-specific constraints live under [ops/constraints](./ops/constraints), and evolvable local skills live under [ops/skills](./ops/skills).
|
|
135
|
+
|
|
136
|
+
## Blocked Inputs
|
|
137
|
+
|
|
138
|
+
Inputs that require user or real-world data are recorded in `../x-one-skipped-inputs.md` and should not block foundation work.
|
|
139
|
+
|
|
140
|
+
## Docs
|
|
141
|
+
|
|
142
|
+
- [Product Foundation](./docs/product-foundation.md)
|
|
143
|
+
- [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md)
|
|
144
|
+
- [Changelog](./CHANGELOG.md)
|
|
145
|
+
- [Publishing](./docs/publishing.md)
|
|
146
|
+
- [Homebrew Packaging](./docs/homebrew.md)
|
|
147
|
+
- [OPT Overlay](./ops/opt-overlay.md)
|
|
148
|
+
- [Production Constraints](./ops/constraints/production.md)
|
|
149
|
+
- [Main Entry Constraints](./ops/constraints/main-entry.md)
|
|
150
|
+
- [Skill Evolution](./ops/skills/evolution.md)
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# agent-failure-packet
|
|
2
|
+
|
|
3
|
+
语言: [English](./README.md) | 中文
|
|
4
|
+
|
|
5
|
+
把失败的 AI agent 执行过程生成可脱敏、可分享的调试包。
|
|
6
|
+
|
|
7
|
+
## 状态
|
|
8
|
+
|
|
9
|
+
`P1` - v0.4.1 本地 packet builder 和 read-only GitHub Action。
|
|
10
|
+
|
|
11
|
+
## 目的
|
|
12
|
+
|
|
13
|
+
把混乱的失败 agent run 转成适合 issue、PR 和 incident review 使用的安全证据。
|
|
14
|
+
|
|
15
|
+
## 第一生产化表面
|
|
16
|
+
|
|
17
|
+
本地 packet builder:接受 agent runtime export,并输出脱敏后的可分享 bundle。
|
|
18
|
+
|
|
19
|
+
第一可执行表面已在 [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md) 中定义。
|
|
20
|
+
|
|
21
|
+
## 安装
|
|
22
|
+
|
|
23
|
+
PyPI 发布后安装:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
python3 -m pip install xone-agent-failure-packet
|
|
27
|
+
agent-failure-packet --version
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Homebrew tap 更新后安装:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
brew install x-one-ai/tap/agent-failure-packet
|
|
34
|
+
agent-failure-packet --version
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
在本仓库中运行:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
python3 -m pip install -e .
|
|
41
|
+
agent-failure-packet --version
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 使用
|
|
45
|
+
|
|
46
|
+
从 generic run export 生成 Markdown packet:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
agent-failure-packet init --profile issue
|
|
50
|
+
agent-failure-packet validate --input failed-run.json
|
|
51
|
+
agent-failure-packet build --input tests/fixtures/runs/generic-failure-v1.json
|
|
52
|
+
agent-failure-packet build --input failed-run.json --format markdown --output failure-packet.md
|
|
53
|
+
agent-failure-packet build --input failed-run.json --format json --output failure-packet.json
|
|
54
|
+
agent-failure-packet build --input failed-run.json --profile issue --output issue-packet.md
|
|
55
|
+
agent-failure-packet build --input failed-run.json --redaction-policy .agent-failure-packet.yml
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
输入文件使用 `schema_version: agent-failure-packet.run.v1`。JSON 输出使用 `schema_version: agent-failure-packet.packet.v1`。
|
|
59
|
+
|
|
60
|
+
`agent-failure-packet build` 会从当前目录或上级目录自动发现 `.agent-failure-packet.yml`:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
schema_version: 1
|
|
64
|
+
profile: issue
|
|
65
|
+
# redaction_policy: .agent-failure-packet-redaction.yml
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Markdown profiles:
|
|
69
|
+
|
|
70
|
+
- `incident`:完整 packet,包含时间线、工具调用、错误、环境、脱敏摘要、checklist 和限制说明。
|
|
71
|
+
- `issue`:适合 GitHub issue 或 support ticket 的紧凑 packet;省略更深的工具调用和环境章节。
|
|
72
|
+
|
|
73
|
+
Fixture corpus:
|
|
74
|
+
|
|
75
|
+
- `generic-failure-v1.json`
|
|
76
|
+
- `codex-cli-failure-v1.json`
|
|
77
|
+
- `github-copilot-agent-failure-v1.json`
|
|
78
|
+
|
|
79
|
+
自定义脱敏策略示例:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
literals:
|
|
83
|
+
- internal-customer-id
|
|
84
|
+
regexes:
|
|
85
|
+
- INTERNAL-[0-9]+
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
默认脱敏策略不能关闭。本工具是 local-first:不会上传 packet 数据,不调用 hosted service,也不会自动发布 comment。
|
|
89
|
+
|
|
90
|
+
## GitHub Action
|
|
91
|
+
|
|
92
|
+
在 checkout 之后使用 Action,并指向 agent workflow 生成的 failure export:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
name: Agent Failure Packet
|
|
96
|
+
|
|
97
|
+
on:
|
|
98
|
+
workflow_dispatch:
|
|
99
|
+
|
|
100
|
+
permissions:
|
|
101
|
+
contents: read
|
|
102
|
+
|
|
103
|
+
jobs:
|
|
104
|
+
packet:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v6
|
|
108
|
+
- uses: X-One-AI/agent-failure-packet@v0.4.1
|
|
109
|
+
with:
|
|
110
|
+
input: failed-run.json
|
|
111
|
+
profile: issue
|
|
112
|
+
output: agent-failure-packet.md
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Action 会写出 packet 文件,把紧凑 packet 追加到 `GITHUB_STEP_SUMMARY`,并暴露 `packet-path` 和 `summary-json` outputs。它是 read-only,不会发布 PR comment。
|
|
116
|
+
|
|
117
|
+
## 必要证据
|
|
118
|
+
|
|
119
|
+
- 时间线
|
|
120
|
+
- 工具调用
|
|
121
|
+
- 错误
|
|
122
|
+
- 脱敏摘要
|
|
123
|
+
- 环境摘要
|
|
124
|
+
|
|
125
|
+
## 非目标
|
|
126
|
+
|
|
127
|
+
- 不做完整 tracing 平台
|
|
128
|
+
- 不做 hosted observability backend
|
|
129
|
+
- 不分享原始 prompt 或 log
|
|
130
|
+
- 不承诺覆盖所有组织特有 secret 的完整安全能力
|
|
131
|
+
|
|
132
|
+
## OPT 运行模型
|
|
133
|
+
|
|
134
|
+
本项目通过 [ops/opt-overlay.md](./ops/opt-overlay.md) 引用共享 One Person Team 工作流。项目自己的约束放在 [ops/constraints](./ops/constraints),可演进 skill 放在 [ops/skills](./ops/skills)。
|
|
135
|
+
|
|
136
|
+
## 暂缺输入
|
|
137
|
+
|
|
138
|
+
需要用户或真实世界数据补充的内容记录在 `../x-one-skipped-inputs.md`,不阻塞基础建设。
|
|
139
|
+
|
|
140
|
+
## 文档
|
|
141
|
+
|
|
142
|
+
- [产品基础](./docs/product-foundation.md)
|
|
143
|
+
- [Packet Builder Design](./docs/superpowers/specs/2026-06-13-packet-builder-design.md)
|
|
144
|
+
- [Changelog](./CHANGELOG.md)
|
|
145
|
+
- [Publishing](./docs/publishing.md)
|
|
146
|
+
- [Homebrew Packaging](./docs/homebrew.md)
|
|
147
|
+
- [OPT Overlay](./ops/opt-overlay.md)
|
|
148
|
+
- [生产约束](./ops/constraints/production.md)
|
|
149
|
+
- [主入口约束](./ops/constraints/main-entry.md)
|
|
150
|
+
- [Skill 演进](./ops/skills/evolution.md)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
name: Agent Failure Packet
|
|
2
|
+
description: Build a redacted, shareable packet from a failed AI agent run export.
|
|
3
|
+
|
|
4
|
+
inputs:
|
|
5
|
+
input:
|
|
6
|
+
description: Path to an agent-failure-packet.run.v1 JSON export.
|
|
7
|
+
required: true
|
|
8
|
+
format:
|
|
9
|
+
description: Output format.
|
|
10
|
+
required: false
|
|
11
|
+
default: markdown
|
|
12
|
+
profile:
|
|
13
|
+
description: Markdown output profile.
|
|
14
|
+
required: false
|
|
15
|
+
default: incident
|
|
16
|
+
output:
|
|
17
|
+
description: Output packet path.
|
|
18
|
+
required: false
|
|
19
|
+
default: agent-failure-packet.md
|
|
20
|
+
redaction-policy:
|
|
21
|
+
description: Optional YAML redaction policy path.
|
|
22
|
+
required: false
|
|
23
|
+
default: ""
|
|
24
|
+
|
|
25
|
+
outputs:
|
|
26
|
+
packet-path:
|
|
27
|
+
description: Path to the generated packet.
|
|
28
|
+
value: ${{ steps.packet.outputs.packet-path }}
|
|
29
|
+
summary-json:
|
|
30
|
+
description: Compact JSON summary for downstream steps.
|
|
31
|
+
value: ${{ steps.packet.outputs.summary-json }}
|
|
32
|
+
|
|
33
|
+
runs:
|
|
34
|
+
using: composite
|
|
35
|
+
steps:
|
|
36
|
+
- name: Build agent failure packet
|
|
37
|
+
id: packet
|
|
38
|
+
shell: bash
|
|
39
|
+
run: |
|
|
40
|
+
policy_args=()
|
|
41
|
+
if [ -n "${{ inputs.redaction-policy }}" ]; then
|
|
42
|
+
policy_args=(--redaction-policy "${{ inputs.redaction-policy }}")
|
|
43
|
+
fi
|
|
44
|
+
python3 scripts/run-action.py \
|
|
45
|
+
--input "${{ inputs.input }}" \
|
|
46
|
+
--format "${{ inputs.format }}" \
|
|
47
|
+
--profile "${{ inputs.profile }}" \
|
|
48
|
+
--output "${{ inputs.output }}" \
|
|
49
|
+
"${policy_args[@]}"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Homebrew Packaging
|
|
2
|
+
|
|
3
|
+
`agent-failure-packet` is distributed through the X-One tap.
|
|
4
|
+
|
|
5
|
+
## User Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
brew tap x-one-ai/tap
|
|
9
|
+
brew trust --formula x-one-ai/tap/agent-failure-packet
|
|
10
|
+
brew install x-one-ai/tap/agent-failure-packet
|
|
11
|
+
agent-failure-packet --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Tap Repository
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
X-One-AI/homebrew-tap
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Formula path:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
Formula/agent-failure-packet.rb
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Formula Requirements
|
|
27
|
+
|
|
28
|
+
- Install the Python CLI as `agent-failure-packet`.
|
|
29
|
+
- Use the released `xone-agent-failure-packet` source distribution.
|
|
30
|
+
- Vendor Python dependencies as Homebrew resources.
|
|
31
|
+
- Run `agent-failure-packet --version` in the formula test.
|
|
32
|
+
|
|
33
|
+
## Current Target
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
xone-agent-failure-packet==0.4.1
|
|
37
|
+
```
|