heinzel-github 0.9.1__tar.gz → 0.9.2__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.
- heinzel_github-0.9.2/CHANGELOG.md +14 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/PKG-INFO +52 -5
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/README.md +50 -3
- heinzel_github-0.9.2/docs/SCREENSHOTS.md +10 -0
- heinzel_github-0.9.2/docs/SCREENSHOT_STORY.md +40 -0
- heinzel_github-0.9.2/docs/assets/cli.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/capture.json +102 -0
- heinzel_github-0.9.2/docs/assets/screenshots/index.html +1 -0
- heinzel_github-0.9.2/docs/assets/screenshots/issue-changes.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/issue-changes.txt +37 -0
- heinzel_github-0.9.2/docs/assets/screenshots/issues-json.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/issues-json.txt +24 -0
- heinzel_github-0.9.2/docs/assets/screenshots/merged-cli.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/merged-cli.txt +7 -0
- heinzel_github-0.9.2/docs/assets/screenshots/merged-work.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/merged-work.txt +38 -0
- heinzel_github-0.9.2/docs/assets/screenshots/source-story.md +40 -0
- heinzel_github-0.9.2/docs/assets/screenshots/workflow-collection.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/workflow-collection.txt +70 -0
- heinzel_github-0.9.2/docs/assets/screenshots/workflow-context.png +0 -0
- heinzel_github-0.9.2/docs/assets/screenshots/workflow-context.txt +52 -0
- heinzel_github-0.9.2/docs/assets/ui.png +0 -0
- heinzel_github-0.9.2/docs/screenshot-definition.json +7 -0
- heinzel_github-0.9.2/docs/screenshot_fixture.py +122 -0
- heinzel_github-0.9.2/docs/screenshots.toml +86 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/plugin-lock.json +3 -2
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/pyproject.toml +44 -2
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/requirements.lock +20 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/__init__.py +10 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_adapter.py +3 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_gh.py +5 -1
- heinzel_github-0.9.2/src/heinzel_github/_release_feed.py +353 -0
- heinzel_github-0.9.2/tests/acceptance/release_feed_installed_test.py +104 -0
- heinzel_github-0.9.2/tests/unit/release_feed_test.py +206 -0
- heinzel_github-0.9.1/CHANGELOG.md +0 -8
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/.gitignore +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/LICENSE +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_client.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_models.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_module.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/_service.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/py.typed +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/skills/review-pull-request/SKILL.md +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/src/heinzel_github/skills/review-pull-request/references/checklist.md +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/conftest.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/fake_gh.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/fixtures/issues.json +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/fixtures/pulls.json +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/integration/capability_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/integration/cli_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/integration/connector_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/integration/gh_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/adapter_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/client_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/contract_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/gh_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/models_test.py +0 -0
- {heinzel_github-0.9.1 → heinzel_github-0.9.2}/tests/unit/service_test.py +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.9.2
|
|
4
|
+
|
|
5
|
+
Add a GitHub release feed for draft workflows. It starts at the current release frontier and reads published
|
|
6
|
+
release notes alongside the matching section of the supplied CHANGELOG. It stops without advancing the cursor
|
|
7
|
+
when a release cannot be matched or the bounded GitHub page may hide releases. Requires Heinzel 0.9.16 or newer.
|
|
8
|
+
|
|
9
|
+
## 0.9.1
|
|
10
|
+
|
|
11
|
+
Move this plugin to its independent repository project for the Heinzel 0.9.1 plugin contract.
|
|
12
|
+
Own its dependencies, tests and artifacts; consume public contracts without concrete provider dependencies.
|
|
13
|
+
|
|
14
|
+
Earlier history: the heinzel repository before 0.9.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: heinzel-github
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.2
|
|
4
4
|
Summary: Read pull requests and issues from GitHub: the code-host and tracker capabilities.
|
|
5
5
|
Project-URL: Source, https://github.com/helmut-hoffer-von-ankershoffen/heinzel-plugins/tree/main/plugins/heinzel-github
|
|
6
6
|
Project-URL: Changelog, https://github.com/helmut-hoffer-von-ankershoffen/heinzel-plugins/blob/main/plugins/heinzel-github/CHANGELOG.md
|
|
@@ -8,16 +8,18 @@ Project-URL: Issues, https://github.com/helmut-hoffer-von-ankershoffen/heinzel-p
|
|
|
8
8
|
License-Expression: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Requires-Python: >=3.12
|
|
11
|
-
Requires-Dist: heinzel<0.10,>=0.9.
|
|
11
|
+
Requires-Dist: heinzel<0.10,>=0.9.16
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
|
|
14
14
|
# heinzel-github
|
|
15
15
|
|
|
16
16
|
Read pull requests and issues from GitHub, the `code-host` and `tracker` capabilities ([ADR 0028](https://github.com/helmut-hoffer-von-ankershoffen/heinzel/blob/main/docs/adr/0028-integrations-are-capability-adapters.md)): a first-party
|
|
17
|
-
[Heinzelmännchen](https://github.com/helmut-hoffer-von-ankershoffen/heinzel) plugin.
|
|
17
|
+
[Heinzelmännchen](https://github.com/helmut-hoffer-von-ankershoffen/heinzel) plugin.
|
|
18
|
+
|
|
19
|
+
Install it with:
|
|
18
20
|
|
|
19
21
|
```bash
|
|
20
|
-
hz system plugin add github --confirm
|
|
22
|
+
hz system plugin add github --confirm
|
|
21
23
|
hz system plugin remove heinzel-github
|
|
22
24
|
```
|
|
23
25
|
|
|
@@ -134,4 +136,49 @@ returns is cleaned too.
|
|
|
134
136
|
|
|
135
137
|
Development and release commands: [repository guide](../../README.md).
|
|
136
138
|
|
|
137
|
-
|
|
139
|
+
|
|
140
|
+
<!-- screenshots:start -->
|
|
141
|
+
## Screenshots
|
|
142
|
+
|
|
143
|
+
<img src="docs/assets/screenshots/workflow-collection.png" alt="Explore the fictional weekly code review in the local workflow collection" width="960">
|
|
144
|
+
|
|
145
|
+
Explore the fictional weekly code review in the local workflow collection
|
|
146
|
+
|
|
147
|
+
<img src="docs/assets/screenshots/workflow-context.png" alt="Fictional weekly review declares merged-work and issue inputs; no report was generated" width="960">
|
|
148
|
+
|
|
149
|
+
Fictional weekly review declares merged-work and issue inputs; no report was generated
|
|
150
|
+
|
|
151
|
+
<img src="docs/assets/screenshots/merged-work.png" alt="Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter" width="960">
|
|
152
|
+
|
|
153
|
+
Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter
|
|
154
|
+
|
|
155
|
+
<img src="docs/assets/screenshots/issue-changes.png" alt="Fictional issue changes, owners and states in the app terminal, using a fixture-only requester" width="960">
|
|
156
|
+
|
|
157
|
+
Fictional issue changes, owners and states in the app terminal, using a fixture-only requester
|
|
158
|
+
|
|
159
|
+
<details>
|
|
160
|
+
<summary>Command line</summary>
|
|
161
|
+
|
|
162
|
+
<img src="docs/assets/screenshots/merged-cli.png" alt="Read fictional merged work in the shell with a fixture-only requester and the real adapter" width="960">
|
|
163
|
+
|
|
164
|
+
Read fictional merged work in the shell with a fixture-only requester and the real adapter
|
|
165
|
+
|
|
166
|
+
<img src="docs/assets/screenshots/issues-json.png" alt="Fictional issue results as JSON for scripts and agents, using a fixture-only requester" width="960">
|
|
167
|
+
|
|
168
|
+
Fictional issue results as JSON for scripts and agents, using a fixture-only requester
|
|
169
|
+
|
|
170
|
+
</details>
|
|
171
|
+
|
|
172
|
+
[Open the screenshot gallery](docs/assets/screenshots/index.html).
|
|
173
|
+
<!-- screenshots:end -->
|
|
174
|
+
|
|
175
|
+
### Release feed for draft workflows
|
|
176
|
+
|
|
177
|
+
With Heinzel 0.9.16 or newer, the GitHub plugin installed from a wheel can supply a release feed to a draft workflow. Give the
|
|
178
|
+
workflow an exact HTTPS GitHub blob URL for the Markdown CHANGELOG. The feed reads the same repository's published
|
|
179
|
+
release notes and the matching literal CHANGELOG section. It starts from the current release frontier and returns
|
|
180
|
+
later releases in publication order.
|
|
181
|
+
|
|
182
|
+
An ambiguous tag, a lost frontier, or a full GitHub page of 100 entries including drafts stops the read without
|
|
183
|
+
advancing the cursor. The feed uses `gh` and holds the selected credential privately for the read. It never stores
|
|
184
|
+
or displays the token. Changing the selected account, configuration, or executable requires a new review.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# heinzel-github
|
|
2
2
|
|
|
3
3
|
Read pull requests and issues from GitHub, the `code-host` and `tracker` capabilities ([ADR 0028](https://github.com/helmut-hoffer-von-ankershoffen/heinzel/blob/main/docs/adr/0028-integrations-are-capability-adapters.md)): a first-party
|
|
4
|
-
[Heinzelmännchen](https://github.com/helmut-hoffer-von-ankershoffen/heinzel) plugin.
|
|
4
|
+
[Heinzelmännchen](https://github.com/helmut-hoffer-von-ankershoffen/heinzel) plugin.
|
|
5
|
+
|
|
6
|
+
Install it with:
|
|
5
7
|
|
|
6
8
|
```bash
|
|
7
|
-
hz system plugin add github --confirm
|
|
9
|
+
hz system plugin add github --confirm
|
|
8
10
|
hz system plugin remove heinzel-github
|
|
9
11
|
```
|
|
10
12
|
|
|
@@ -121,4 +123,49 @@ returns is cleaned too.
|
|
|
121
123
|
|
|
122
124
|
Development and release commands: [repository guide](../../README.md).
|
|
123
125
|
|
|
124
|
-
|
|
126
|
+
|
|
127
|
+
<!-- screenshots:start -->
|
|
128
|
+
## Screenshots
|
|
129
|
+
|
|
130
|
+
<img src="docs/assets/screenshots/workflow-collection.png" alt="Explore the fictional weekly code review in the local workflow collection" width="960">
|
|
131
|
+
|
|
132
|
+
Explore the fictional weekly code review in the local workflow collection
|
|
133
|
+
|
|
134
|
+
<img src="docs/assets/screenshots/workflow-context.png" alt="Fictional weekly review declares merged-work and issue inputs; no report was generated" width="960">
|
|
135
|
+
|
|
136
|
+
Fictional weekly review declares merged-work and issue inputs; no report was generated
|
|
137
|
+
|
|
138
|
+
<img src="docs/assets/screenshots/merged-work.png" alt="Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter" width="960">
|
|
139
|
+
|
|
140
|
+
Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter
|
|
141
|
+
|
|
142
|
+
<img src="docs/assets/screenshots/issue-changes.png" alt="Fictional issue changes, owners and states in the app terminal, using a fixture-only requester" width="960">
|
|
143
|
+
|
|
144
|
+
Fictional issue changes, owners and states in the app terminal, using a fixture-only requester
|
|
145
|
+
|
|
146
|
+
<details>
|
|
147
|
+
<summary>Command line</summary>
|
|
148
|
+
|
|
149
|
+
<img src="docs/assets/screenshots/merged-cli.png" alt="Read fictional merged work in the shell with a fixture-only requester and the real adapter" width="960">
|
|
150
|
+
|
|
151
|
+
Read fictional merged work in the shell with a fixture-only requester and the real adapter
|
|
152
|
+
|
|
153
|
+
<img src="docs/assets/screenshots/issues-json.png" alt="Fictional issue results as JSON for scripts and agents, using a fixture-only requester" width="960">
|
|
154
|
+
|
|
155
|
+
Fictional issue results as JSON for scripts and agents, using a fixture-only requester
|
|
156
|
+
|
|
157
|
+
</details>
|
|
158
|
+
|
|
159
|
+
[Open the screenshot gallery](docs/assets/screenshots/index.html).
|
|
160
|
+
<!-- screenshots:end -->
|
|
161
|
+
|
|
162
|
+
### Release feed for draft workflows
|
|
163
|
+
|
|
164
|
+
With Heinzel 0.9.16 or newer, the GitHub plugin installed from a wheel can supply a release feed to a draft workflow. Give the
|
|
165
|
+
workflow an exact HTTPS GitHub blob URL for the Markdown CHANGELOG. The feed reads the same repository's published
|
|
166
|
+
release notes and the matching literal CHANGELOG section. It starts from the current release frontier and returns
|
|
167
|
+
later releases in publication order.
|
|
168
|
+
|
|
169
|
+
An ambiguous tag, a lost frontier, or a full GitHub page of 100 entries including drafts stops the read without
|
|
170
|
+
advancing the cursor. The feed uses `gh` and holds the selected credential privately for the read. It never stores
|
|
171
|
+
or displays the token. Changing the selected account, configuration, or executable requires a new review.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Screenshot gallery
|
|
2
|
+
|
|
3
|
+
From the collection root, run `make screenshots NAME=heinzel-github OPEN=1`.
|
|
4
|
+
Review the [contact sheet](assets/screenshots/index.html) before committing.
|
|
5
|
+
The [scene plan](screenshots.toml) describes the real UI and CLI captures.
|
|
6
|
+
`make screenshots-check NAME=heinzel-github` verifies freshness offline.
|
|
7
|
+
|
|
8
|
+
Captures use a temporary fictional profile without connected accounts. The generated
|
|
9
|
+
[manifest](assets/screenshots/capture.json) records the SDK version and input/image digests.
|
|
10
|
+
See the [author guide](../../../docs/SCREENSHOT_AUTHORING.md) for human and agent commands.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## Audience and outcome
|
|
2
|
+
|
|
3
|
+
A developer or team lead considering a GitHub connector should see how a local workflow can declare both merged pull requests and updated issues as inputs, and what those reads return. The story should make clear that the example is fictional, the workflow is only declared, and no review report has been generated.
|
|
4
|
+
|
|
5
|
+
## Scenes
|
|
6
|
+
|
|
7
|
+
1. **Workflow collection, light:** Find the fictional Weekly code review alongside local workflows. This establishes where the example is discovered.
|
|
8
|
+
2. **Workflow context, dark:** Inspect the same workflow’s distinct detail state: its two capability inputs, repository, and intended output. It is a declaration, not a completed review.
|
|
9
|
+
3. **Merged work, app terminal:** Show the fictional merged pull requests returned by the real adapter through the fixture-only requester.
|
|
10
|
+
4. **Issue changes, app terminal:** Show fictional issue titles, states, and owners; the adapter excludes pull requests from issue results.
|
|
11
|
+
5. **Merged work, CLI:** Show the same useful read in a native terminal, identifying the requester as demonstration-only.
|
|
12
|
+
6. **Issues as JSON, CLI:** Show a different capability and output format for scripts, with fictional data.
|
|
13
|
+
|
|
14
|
+
The first two are Core feature UI scenes with different purposes; the app-terminal scenes are terminal results within the app, not feature UI. The existing plan already expresses this story and is preserved below. Its routes and rendered results still require capture-time verification.
|
|
15
|
+
|
|
16
|
+
## Fictional fixtures
|
|
17
|
+
|
|
18
|
+
`docs/screenshot_fixture.py` creates the local Weekly code review contract in isolated state, binds both capabilities to GitHub, and supplies `DemoGh` responses for `acme/widgets`. Its `showcase.merged` and `showcase.issues` operations use the real adapter with October 2026 fixture responses. The names, repository, accounts, PRs, issues, and links are example data; they are not evidence of a real GitHub connection. The fixture’s fixed window and `browser_time` make the story coherent. Some raw fixture records reuse an API URL or ID despite differing displayed numbers; do not present those raw fields as consistent production records.
|
|
19
|
+
|
|
20
|
+
## Source-bound UI surface inventory
|
|
21
|
+
|
|
22
|
+
- `pyproject.toml` declares both `heinzel.modules` and `heinzel.connected_sources` entrypoints as `github = "heinzel_github"`. Their target, `src/heinzel_github/__init__.py`, configures the module, settings, services, skill, two read capability providers, `info` operation, system-info contribution, and offline and live health contributions. The connected-source entrypoint points to that same package; the supplied source does not independently establish a separate connector screen or its exact rendering.
|
|
23
|
+
- `src/heinzel_github/_module.py` declares the GitHub module. `src/heinzel_github/_adapter.py` implements merged pull-request and updated-issue reads. No plugin-specific Page, View, navigation, channel, approval, setup, or footer declaration appears in the supplied plugin source. That absence alone does not rule out Core-rendered UI.
|
|
24
|
+
- `README.md` explicitly describes Core Settings → Connectors, connector list/test, system capability list, system info, and doctor. `src/heinzel_github/__init__.py` and `_service.py` provide the info and health data those generic surfaces may render; exact routes and visual controls are not established by these sources. The live test contacts GitHub when explicitly run, so it is outside this offline fixture story.
|
|
25
|
+
- `docs/screenshot_fixture.py` contributes the fictional workflow and two fixture-only operations. `docs/screenshots.toml` declares `/contracts` and `/contracts/weekly-code-review` for collection and detail captures. These are Core workflow surfaces, not GitHub-owned screens; the provided plan is evidence of the intended detail route, not proof that it currently renders. If capture cannot verify it, do not substitute invented HTML or an assumed route.
|
|
26
|
+
- `src/heinzel_github/__init__.py` conditionally registers `GithubReleaseFeeds` from `src/heinzel_github/_release_feed.py`; `README.md` describes its draft-workflow release-feed use. The supplied fixture does not demonstrate that flow or establish its UI, so no release-feed screenshot is claimed.
|
|
27
|
+
- GitHub and `gh auth login` are external provider tools. The app-terminal and native CLI outputs are terminal surfaces. The `review-pull-request` skill declared in `src/heinzel_github/skills/review-pull-request/SKILL.md` is agent guidance, not an evidenced product screen. The existence of the `info` CLI operation does not prove it is terminal-only.
|
|
28
|
+
|
|
29
|
+
## Privacy pitfalls
|
|
30
|
+
|
|
31
|
+
Normal presentation fictionalization is limited to these explicit mappings: verified owning-interpreter paths become `/demo-profile/.venv`, and only the verified whole hostname detail in the genuine Doctor row becomes `demo-host`. These mappings change no SDK health status or remaining detail and establish no privacy acceptance. Unknown identities still fail, and an independent reviewer must inspect every image and transcript. Review account names, paths, hostnames, URLs, environment-derived details, tokens, logs, browser chrome, and unrelated background content; fixture labels alone do not establish privacy. Do not run the live connector test during this offline story.
|
|
32
|
+
|
|
33
|
+
## Acceptance criteria
|
|
34
|
+
|
|
35
|
+
- Capture the two genuine Core workflow states in applied light and dark appearances, plus the distinct app-terminal and native CLI results. Verify actual routes, headings, and data during capture; do not treat this source review as a successful capture.
|
|
36
|
+
- The collection and detail must show meaningfully different states. Reject duplicate images, caption-only changes, terminal output represented as feature UI, and forged HTML.
|
|
37
|
+
- Verify the merged results and issue results against the fixture and adapter, including exclusion of the PR-shaped issue; show JSON only if it is the actual CLI output. Clearly label the fixture-only requester and fictional data.
|
|
38
|
+
- Do not imply that the declared workflow ran, that a report exists, or that the fixture proves a live GitHub login or production health.
|
|
39
|
+
- Inspect every image and transcript independently for privacy and truthful presentation before publication. Only the narrowly specified path and Doctor-host mappings are permitted; unknown identities fail review.
|
|
40
|
+
- The TOML below was checked against the requested structure by inspection only. No parser, fixture, application, capture, network call, or source code was executed, so runtime route, theme, and output validation remains outstanding.
|
|
Binary file
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": 1,
|
|
3
|
+
"plugin": "heinzel-github",
|
|
4
|
+
"core_version": "0.9.18",
|
|
5
|
+
"inputs_sha256": "332ffc4a251d426fc1e01dc6295a91357db2114443b33d63d63fe1b6936f9fe9",
|
|
6
|
+
"images": {
|
|
7
|
+
"docs/assets/screenshots/workflow-collection.png": "9a2115fd574e4b823feb72bede3c0cc747b9402990a7a3f67294a68767adc474",
|
|
8
|
+
"docs/assets/screenshots/workflow-context.png": "82139ef90338ac3320a0983c79d6132c24d1888a556182af06adde5fec5f217b",
|
|
9
|
+
"docs/assets/screenshots/merged-work.png": "8ff2207ebeaaae52e02d3718867d056fa8b2de5410e3ca885598c568ab0af79e",
|
|
10
|
+
"docs/assets/screenshots/issue-changes.png": "5e5cd61862c5982db2102d6d691e80161462915ff0d985438bb8b2550ee286e0",
|
|
11
|
+
"docs/assets/screenshots/merged-cli.png": "787d4a4a73a860dbf4b33fd849f9737e0a58e5495e3e94ea1104a0e60bdf7233",
|
|
12
|
+
"docs/assets/screenshots/issues-json.png": "ba32601ae9d5cbf3c0925b64388c8786141602e603d5343e8e03efd6365d52bd"
|
|
13
|
+
},
|
|
14
|
+
"review_bundle": {
|
|
15
|
+
"format": 2,
|
|
16
|
+
"source_story": {
|
|
17
|
+
"path": "source-story.md",
|
|
18
|
+
"sha256": "a419a4980b5369574d78f4b08c378dca67bdc84d904fb6bd0aebde2a19b80f00"
|
|
19
|
+
},
|
|
20
|
+
"definition": {
|
|
21
|
+
"format": 1,
|
|
22
|
+
"reviewer": "Codex feature-story agent",
|
|
23
|
+
"source_sha256": "0c55c663eadfffa985b01fda7f1a9778f22eb6fe9254f1c08f051a638b93aad6",
|
|
24
|
+
"plan_sha256": "9d204ce8608ed8eb229529b4fc0fa73fac29b39b2dd9e450b5b4a9f3f9fd55d7",
|
|
25
|
+
"story_sha256": "a419a4980b5369574d78f4b08c378dca67bdc84d904fb6bd0aebde2a19b80f00"
|
|
26
|
+
},
|
|
27
|
+
"plugin": "heinzel-github",
|
|
28
|
+
"core_version": "0.9.18",
|
|
29
|
+
"inputs_sha256": "332ffc4a251d426fc1e01dc6295a91357db2114443b33d63d63fe1b6936f9fe9",
|
|
30
|
+
"screenshots": [
|
|
31
|
+
{
|
|
32
|
+
"path": "docs/assets/screenshots/workflow-collection.png",
|
|
33
|
+
"surface": "ui",
|
|
34
|
+
"caption": "Explore the fictional weekly code review in the local workflow collection"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"path": "docs/assets/screenshots/workflow-context.png",
|
|
38
|
+
"surface": "ui",
|
|
39
|
+
"caption": "Fictional weekly review declares merged-work and issue inputs; no report was generated"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"path": "docs/assets/screenshots/merged-work.png",
|
|
43
|
+
"surface": "ui",
|
|
44
|
+
"caption": "Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"path": "docs/assets/screenshots/issue-changes.png",
|
|
48
|
+
"surface": "ui",
|
|
49
|
+
"caption": "Fictional issue changes, owners and states in the app terminal, using a fixture-only requester"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"path": "docs/assets/screenshots/merged-cli.png",
|
|
53
|
+
"surface": "cli",
|
|
54
|
+
"caption": "Read fictional merged work in the shell with a fixture-only requester and the real adapter"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"path": "docs/assets/screenshots/issues-json.png",
|
|
58
|
+
"surface": "cli",
|
|
59
|
+
"caption": "Fictional issue results as JSON for scripts and agents, using a fixture-only requester"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"images": {
|
|
63
|
+
"workflow-collection.png": "9a2115fd574e4b823feb72bede3c0cc747b9402990a7a3f67294a68767adc474",
|
|
64
|
+
"workflow-context.png": "82139ef90338ac3320a0983c79d6132c24d1888a556182af06adde5fec5f217b",
|
|
65
|
+
"merged-work.png": "8ff2207ebeaaae52e02d3718867d056fa8b2de5410e3ca885598c568ab0af79e",
|
|
66
|
+
"issue-changes.png": "5e5cd61862c5982db2102d6d691e80161462915ff0d985438bb8b2550ee286e0",
|
|
67
|
+
"merged-cli.png": "787d4a4a73a860dbf4b33fd849f9737e0a58e5495e3e94ea1104a0e60bdf7233",
|
|
68
|
+
"issues-json.png": "ba32601ae9d5cbf3c0925b64388c8786141602e603d5343e8e03efd6365d52bd"
|
|
69
|
+
},
|
|
70
|
+
"transcripts": {
|
|
71
|
+
"workflow-collection.txt": "0efdfa3a76168448e34c421f4183c3bc0f15f206ddd9f62e3dd732af4f490fd8",
|
|
72
|
+
"workflow-context.txt": "221dca27393be2e21cb9892f6d7e5a5bae1328a29fb72356e0f81017a8df7e6a",
|
|
73
|
+
"merged-work.txt": "ab950558a095b4ab4b79af69bc5fef6f5f675f8cc4ae84dfb62ca92a6085f086",
|
|
74
|
+
"issue-changes.txt": "dda7473ff6231e045f48ede7a639ca463a9a32d6e81bcef860718fd1e52a19cc",
|
|
75
|
+
"merged-cli.txt": "e4df52085e704c49ba37bd75f62656de48cd879405856220a53bcebb7efdebb4",
|
|
76
|
+
"issues-json.txt": "0478f05c2513c3aec957a26c792f41ff2893fb1eddea11b4f9b472e93b9ac0a4"
|
|
77
|
+
},
|
|
78
|
+
"bundle_sha256": "7365f2acd21fc3e1059991cb07196b4ddce6002e38c0722ab51ad29b517d08fe"
|
|
79
|
+
},
|
|
80
|
+
"privacy_review": {
|
|
81
|
+
"format": 1,
|
|
82
|
+
"bundle_sha256": "7365f2acd21fc3e1059991cb07196b4ddce6002e38c0722ab51ad29b517d08fe",
|
|
83
|
+
"reviewer": "Codex privacy agent",
|
|
84
|
+
"decision": "approve",
|
|
85
|
+
"checked_images": [
|
|
86
|
+
"workflow-collection.png",
|
|
87
|
+
"workflow-context.png",
|
|
88
|
+
"merged-work.png",
|
|
89
|
+
"issue-changes.png",
|
|
90
|
+
"merged-cli.png",
|
|
91
|
+
"issues-json.png"
|
|
92
|
+
],
|
|
93
|
+
"checks": {
|
|
94
|
+
"tokens_absent": true,
|
|
95
|
+
"personal_data_absent": true,
|
|
96
|
+
"feature_relevant": true,
|
|
97
|
+
"multiple_ui_scenes": true,
|
|
98
|
+
"captions_accurate": true
|
|
99
|
+
},
|
|
100
|
+
"findings": []
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>heinzel-github screenshots</title><style>body{font:16px/1.6 system-ui;margin:2rem;background:#faf8f3;color:#263b32}main{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1rem}figure{margin:0;padding:1rem;background:white;border:1px solid #d8ddd3;border-radius:12px}img{width:100%;height:auto}figcaption{margin-top:.75rem}a:focus-visible{outline:3px solid #a64028}</style><h1>heinzel-github</h1><p>Isolated demonstration profile · Core 0.9.18 · Review these captures before committing. Click an image to inspect it at full size.</p><main><figure><a href="workflow-collection.png"><img src="workflow-collection.png" alt="Explore the fictional weekly code review in the local workflow collection"></a><figcaption>UI · Explore the fictional weekly code review in the local workflow collection</figcaption></figure><figure><a href="workflow-context.png"><img src="workflow-context.png" alt="Fictional weekly review declares merged-work and issue inputs; no report was generated"></a><figcaption>UI · Fictional weekly review declares merged-work and issue inputs; no report was generated</figcaption></figure><figure><a href="merged-work.png"><img src="merged-work.png" alt="Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter"></a><figcaption>UI · Fictional merged pull requests in the app terminal, using a fixture-only requester and the real adapter</figcaption></figure><figure><a href="issue-changes.png"><img src="issue-changes.png" alt="Fictional issue changes, owners and states in the app terminal, using a fixture-only requester"></a><figcaption>UI · Fictional issue changes, owners and states in the app terminal, using a fixture-only requester</figcaption></figure><figure><a href="merged-cli.png"><img src="merged-cli.png" alt="Read fictional merged work in the shell with a fixture-only requester and the real adapter"></a><figcaption>CLI · Read fictional merged work in the shell with a fixture-only requester and the real adapter</figcaption></figure><figure><a href="issues-json.png"><img src="issues-json.png" alt="Fictional issue results as JSON for scripts and agents, using a fixture-only requester"></a><figcaption>CLI · Fictional issue results as JSON for scripts and agents, using a fixture-only requester</figcaption></figure></main></html>
|
|
Binary file
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Skip to content
|
|
2
|
+
Heinzelmännchen
|
|
3
|
+
Heinzelmännchen
|
|
4
|
+
Contracts
|
|
5
|
+
Team graph
|
|
6
|
+
Weekly code review
|
|
7
|
+
Organisation
|
|
8
|
+
Team roster
|
|
9
|
+
M
|
|
10
|
+
Mira
|
|
11
|
+
· EM
|
|
12
|
+
Today
|
|
13
|
+
Today
|
|
14
|
+
Doctor: 3 checks need attention
|
|
15
|
+
|
|
16
|
+
ai.access ai access, system.doctor installation, system.runner claude-code
|
|
17
|
+
|
|
18
|
+
Open
|
|
19
|
+
Ask about it
|
|
20
|
+
v0.9.18
|
|
21
|
+
Plugins changed, warning
|
|
22
|
+
Updates, off
|
|
23
|
+
0
|
|
24
|
+
System health, warning
|
|
25
|
+
Calendar unavailable
|
|
26
|
+
Daemon not installed, off
|
|
27
|
+
Chat
|
|
28
|
+
Terminal
|
|
29
|
+
Demo complete
|
|
30
|
+
$ hz showcase issues acme/widgets; printf '\033]0;Demo complete\007'
|
|
31
|
+
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┓
|
|
32
|
+
┃ Issue ┃ Title ┃ State ┃ Owner ┃
|
|
33
|
+
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━┩
|
|
34
|
+
│ acme/widgets#3 │ Widgets wobble at high speed │ open │ grace │
|
|
35
|
+
│ acme/widgets#4 │ Document the widget API │ closed │ ada │
|
|
36
|
+
└────────────────┴──────────────────────────────┴────────┴───────┘
|
|
37
|
+
$
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"key": "acme/widgets#3",
|
|
4
|
+
"title": "Widgets wobble at high speed",
|
|
5
|
+
"url": "https://github.com/acme/widgets/issues/3",
|
|
6
|
+
"state": "open",
|
|
7
|
+
"updated_at": "2026-10-05T10:00:00Z",
|
|
8
|
+
"assignee": "grace",
|
|
9
|
+
"labels": [
|
|
10
|
+
"bug"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"key": "acme/widgets#4",
|
|
15
|
+
"title": "Document the widget API",
|
|
16
|
+
"url": "https://github.com/acme/widgets/issues/4",
|
|
17
|
+
"state": "closed",
|
|
18
|
+
"updated_at": "2026-10-22T09:00:00Z",
|
|
19
|
+
"assignee": "ada",
|
|
20
|
+
"labels": [
|
|
21
|
+
"docs"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
]
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
|
|
2
|
+
┃ Merged ┃ Pull request ┃ Author ┃
|
|
3
|
+
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩
|
|
4
|
+
│ 20 Oct │ #7 Render widgets in dark mode │ ada │
|
|
5
|
+
│ 22 Oct │ #8 Keep the last row when exporting widgets │ mira │
|
|
6
|
+
│ 23 Oct │ #9 Add release readiness checks │ jonas │
|
|
7
|
+
└────────┴─────────────────────────────────────────────┴────────┘
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
Skip to content
|
|
2
|
+
Heinzelmännchen
|
|
3
|
+
Heinzelmännchen
|
|
4
|
+
Contracts
|
|
5
|
+
Team graph
|
|
6
|
+
Weekly code review
|
|
7
|
+
Organisation
|
|
8
|
+
Team roster
|
|
9
|
+
M
|
|
10
|
+
Mira
|
|
11
|
+
· EM
|
|
12
|
+
Today
|
|
13
|
+
Today
|
|
14
|
+
Doctor: 3 checks need attention
|
|
15
|
+
|
|
16
|
+
ai.access ai access, system.doctor installation, system.runner claude-code
|
|
17
|
+
|
|
18
|
+
Open
|
|
19
|
+
Ask about it
|
|
20
|
+
v0.9.18
|
|
21
|
+
Plugins changed, warning
|
|
22
|
+
Updates, off
|
|
23
|
+
0
|
|
24
|
+
System health, warning
|
|
25
|
+
Calendar unavailable
|
|
26
|
+
Daemon not installed, off
|
|
27
|
+
Chat
|
|
28
|
+
Terminal
|
|
29
|
+
Demo complete
|
|
30
|
+
$ hz showcase merged acme/widgets; printf '\033]0;Demo complete\007'
|
|
31
|
+
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
|
|
32
|
+
┃ Merged ┃ Pull request ┃ Author ┃
|
|
33
|
+
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━┩
|
|
34
|
+
│ 20 Oct │ #7 Render widgets in dark mode │ ada │
|
|
35
|
+
│ 22 Oct │ #8 Keep the last row when exporting widgets │ mira │
|
|
36
|
+
│ 23 Oct │ #9 Add release readiness checks │ jonas │
|
|
37
|
+
└────────┴─────────────────────────────────────────────┴────────┘
|
|
38
|
+
$
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
## Audience and outcome
|
|
2
|
+
|
|
3
|
+
A developer or team lead considering a GitHub connector should see how a local workflow can declare both merged pull requests and updated issues as inputs, and what those reads return. The story should make clear that the example is fictional, the workflow is only declared, and no review report has been generated.
|
|
4
|
+
|
|
5
|
+
## Scenes
|
|
6
|
+
|
|
7
|
+
1. **Workflow collection, light:** Find the fictional Weekly code review alongside local workflows. This establishes where the example is discovered.
|
|
8
|
+
2. **Workflow context, dark:** Inspect the same workflow’s distinct detail state: its two capability inputs, repository, and intended output. It is a declaration, not a completed review.
|
|
9
|
+
3. **Merged work, app terminal:** Show the fictional merged pull requests returned by the real adapter through the fixture-only requester.
|
|
10
|
+
4. **Issue changes, app terminal:** Show fictional issue titles, states, and owners; the adapter excludes pull requests from issue results.
|
|
11
|
+
5. **Merged work, CLI:** Show the same useful read in a native terminal, identifying the requester as demonstration-only.
|
|
12
|
+
6. **Issues as JSON, CLI:** Show a different capability and output format for scripts, with fictional data.
|
|
13
|
+
|
|
14
|
+
The first two are Core feature UI scenes with different purposes; the app-terminal scenes are terminal results within the app, not feature UI. The existing plan already expresses this story and is preserved below. Its routes and rendered results still require capture-time verification.
|
|
15
|
+
|
|
16
|
+
## Fictional fixtures
|
|
17
|
+
|
|
18
|
+
`docs/screenshot_fixture.py` creates the local Weekly code review contract in isolated state, binds both capabilities to GitHub, and supplies `DemoGh` responses for `acme/widgets`. Its `showcase.merged` and `showcase.issues` operations use the real adapter with October 2026 fixture responses. The names, repository, accounts, PRs, issues, and links are example data; they are not evidence of a real GitHub connection. The fixture’s fixed window and `browser_time` make the story coherent. Some raw fixture records reuse an API URL or ID despite differing displayed numbers; do not present those raw fields as consistent production records.
|
|
19
|
+
|
|
20
|
+
## Source-bound UI surface inventory
|
|
21
|
+
|
|
22
|
+
- `pyproject.toml` declares both `heinzel.modules` and `heinzel.connected_sources` entrypoints as `github = "heinzel_github"`. Their target, `src/heinzel_github/__init__.py`, configures the module, settings, services, skill, two read capability providers, `info` operation, system-info contribution, and offline and live health contributions. The connected-source entrypoint points to that same package; the supplied source does not independently establish a separate connector screen or its exact rendering.
|
|
23
|
+
- `src/heinzel_github/_module.py` declares the GitHub module. `src/heinzel_github/_adapter.py` implements merged pull-request and updated-issue reads. No plugin-specific Page, View, navigation, channel, approval, setup, or footer declaration appears in the supplied plugin source. That absence alone does not rule out Core-rendered UI.
|
|
24
|
+
- `README.md` explicitly describes Core Settings → Connectors, connector list/test, system capability list, system info, and doctor. `src/heinzel_github/__init__.py` and `_service.py` provide the info and health data those generic surfaces may render; exact routes and visual controls are not established by these sources. The live test contacts GitHub when explicitly run, so it is outside this offline fixture story.
|
|
25
|
+
- `docs/screenshot_fixture.py` contributes the fictional workflow and two fixture-only operations. `docs/screenshots.toml` declares `/contracts` and `/contracts/weekly-code-review` for collection and detail captures. These are Core workflow surfaces, not GitHub-owned screens; the provided plan is evidence of the intended detail route, not proof that it currently renders. If capture cannot verify it, do not substitute invented HTML or an assumed route.
|
|
26
|
+
- `src/heinzel_github/__init__.py` conditionally registers `GithubReleaseFeeds` from `src/heinzel_github/_release_feed.py`; `README.md` describes its draft-workflow release-feed use. The supplied fixture does not demonstrate that flow or establish its UI, so no release-feed screenshot is claimed.
|
|
27
|
+
- GitHub and `gh auth login` are external provider tools. The app-terminal and native CLI outputs are terminal surfaces. The `review-pull-request` skill declared in `src/heinzel_github/skills/review-pull-request/SKILL.md` is agent guidance, not an evidenced product screen. The existence of the `info` CLI operation does not prove it is terminal-only.
|
|
28
|
+
|
|
29
|
+
## Privacy pitfalls
|
|
30
|
+
|
|
31
|
+
Normal presentation fictionalization is limited to these explicit mappings: verified owning-interpreter paths become `/demo-profile/.venv`, and only the verified whole hostname detail in the genuine Doctor row becomes `demo-host`. These mappings change no SDK health status or remaining detail and establish no privacy acceptance. Unknown identities still fail, and an independent reviewer must inspect every image and transcript. Review account names, paths, hostnames, URLs, environment-derived details, tokens, logs, browser chrome, and unrelated background content; fixture labels alone do not establish privacy. Do not run the live connector test during this offline story.
|
|
32
|
+
|
|
33
|
+
## Acceptance criteria
|
|
34
|
+
|
|
35
|
+
- Capture the two genuine Core workflow states in applied light and dark appearances, plus the distinct app-terminal and native CLI results. Verify actual routes, headings, and data during capture; do not treat this source review as a successful capture.
|
|
36
|
+
- The collection and detail must show meaningfully different states. Reject duplicate images, caption-only changes, terminal output represented as feature UI, and forged HTML.
|
|
37
|
+
- Verify the merged results and issue results against the fixture and adapter, including exclusion of the PR-shaped issue; show JSON only if it is the actual CLI output. Clearly label the fixture-only requester and fictional data.
|
|
38
|
+
- Do not imply that the declared workflow ran, that a report exists, or that the fixture proves a live GitHub login or production health.
|
|
39
|
+
- Inspect every image and transcript independently for privacy and truthful presentation before publication. Only the narrowly specified path and Doctor-host mappings are permitted; unknown identities fail review.
|
|
40
|
+
- The TOML below was checked against the requested structure by inspection only. No parser, fixture, application, capture, network call, or source code was executed, so runtime route, theme, and output validation remains outstanding.
|
|
Binary file
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Skip to content
|
|
2
|
+
Heinzelmännchen
|
|
3
|
+
Heinzelmännchen
|
|
4
|
+
Contracts
|
|
5
|
+
Team graph
|
|
6
|
+
Weekly code review
|
|
7
|
+
Organisation
|
|
8
|
+
Team roster
|
|
9
|
+
M
|
|
10
|
+
Mira
|
|
11
|
+
· EM
|
|
12
|
+
Workflow
|
|
13
|
+
Contracts
|
|
14
|
+
|
|
15
|
+
What hz knows of your workflow: the systems you connected, the artifacts playbooks keep and discovery finds, your contracts and the ones playbooks suggest, and what they maintain. Select a node for its details and its command.
|
|
16
|
+
|
|
17
|
+
Discover
|
|
18
|
+
merged
|
|
19
|
+
issues
|
|
20
|
+
ai-access
|
|
21
|
+
claude-code
|
|
22
|
+
, System
|
|
23
|
+
code-host
|
|
24
|
+
github
|
|
25
|
+
, System
|
|
26
|
+
directory
|
|
27
|
+
one-on-ones
|
|
28
|
+
, System
|
|
29
|
+
team-graph
|
|
30
|
+
hz-graph
|
|
31
|
+
, System
|
|
32
|
+
tracker
|
|
33
|
+
github
|
|
34
|
+
, System
|
|
35
|
+
Weekly code review
|
|
36
|
+
, Contract
|
|
37
|
+
team-graph-keeper
|
|
38
|
+
graph
|
|
39
|
+
suggested
|
|
40
|
+
, Suggested contract
|
|
41
|
+
notes
|
|
42
|
+
me:weekly-code-review
|
|
43
|
+
, Output
|
|
44
|
+
team-graph-keeper
|
|
45
|
+
team-graph-keeper
|
|
46
|
+
, Output
|
|
47
|
+
Legend
|
|
48
|
+
System
|
|
49
|
+
Artifact type
|
|
50
|
+
Discovered artifact
|
|
51
|
+
Contract
|
|
52
|
+
Suggested contract
|
|
53
|
+
Output
|
|
54
|
+
All contracts
|
|
55
|
+
Weekly code review
|
|
56
|
+
me:weekly-code-review
|
|
57
|
+
by hand only
|
|
58
|
+
v0.9.18
|
|
59
|
+
Updates, off
|
|
60
|
+
0
|
|
61
|
+
System health, warning
|
|
62
|
+
Calendar unavailable
|
|
63
|
+
Daemon not installed, off
|
|
64
|
+
Chat
|
|
65
|
+
New chat
|
|
66
|
+
Your message
|
|
67
|
+
Default
|
|
68
|
+
|
|
69
|
+
Up to $0.25 per message · this chat $0.00
|
|
70
|
+
Runs your agent runner and may cost money: at most $0.25 per message, $2.00 per chat; this chat has cost $0.00. It reads with hz and asks you before it changes anything.
|
|
Binary file
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Skip to content
|
|
2
|
+
Heinzelmännchen
|
|
3
|
+
Heinzelmännchen
|
|
4
|
+
Contracts
|
|
5
|
+
Team graph
|
|
6
|
+
Weekly code review
|
|
7
|
+
Organisation
|
|
8
|
+
Team roster
|
|
9
|
+
M
|
|
10
|
+
Mira
|
|
11
|
+
· EM
|
|
12
|
+
weekly-code-review
|
|
13
|
+
Weekly code review
|
|
14
|
+
|
|
15
|
+
Review merged work and issue changes, with owners and source links.
|
|
16
|
+
|
|
17
|
+
ready
|
|
18
|
+
Schedule: by hand only
|
|
19
|
+
0 drafts so far
|
|
20
|
+
/demo-profile/state_dir/demonstration-contracts/weekly-code-review.prose.md
|
|
21
|
+
|
|
22
|
+
it has no schedule: add `schedule: "0 7 * * MON"` under `hz:` in /demo-profile/state_dir/demonstration-contracts/weekly-code-review.prose.md, or run it by hand: hz heinzel wake me:weekly-code-review
|
|
23
|
+
|
|
24
|
+
Requirements
|
|
25
|
+
code-host:read github
|
|
26
|
+
tracker:read github
|
|
27
|
+
agent-runner:read claude-code
|
|
28
|
+
Inputs
|
|
29
|
+
merged: code-host.merged_pull_requests
|
|
30
|
+
issues: tracker.issues_updated
|
|
31
|
+
Outputs
|
|
32
|
+
notes: markdown
|
|
33
|
+
Next steps
|
|
34
|
+
hz heinzel wake me:weekly-code-review --dry-run
|
|
35
|
+
Run in terminal
|
|
36
|
+
the packet the agent gets; nothing is spent
|
|
37
|
+
hz heinzel wake me:weekly-code-review
|
|
38
|
+
Run in terminal
|
|
39
|
+
draft it now, at most 0.5 USD; the draft is saved under /demo-profile/data_dir/workflow/drafts/me-weekly-code-review
|
|
40
|
+
v0.9.18
|
|
41
|
+
Updates, off
|
|
42
|
+
0
|
|
43
|
+
System health, warning
|
|
44
|
+
Calendar unavailable
|
|
45
|
+
Daemon not installed, off
|
|
46
|
+
Chat
|
|
47
|
+
New chat
|
|
48
|
+
Your message
|
|
49
|
+
Default
|
|
50
|
+
|
|
51
|
+
Up to $0.25 per message · this chat $0.00
|
|
52
|
+
Runs your agent runner and may cost money: at most $0.25 per message, $2.00 per chat; this chat has cost $0.00. It reads with hz and asks you before it changes anything.
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"format": 1,
|
|
3
|
+
"reviewer": "Codex feature-story agent",
|
|
4
|
+
"source_sha256": "0c55c663eadfffa985b01fda7f1a9778f22eb6fe9254f1c08f051a638b93aad6",
|
|
5
|
+
"plan_sha256": "9d204ce8608ed8eb229529b4fc0fa73fac29b39b2dd9e450b5b4a9f3f9fd55d7",
|
|
6
|
+
"story_sha256": "a419a4980b5369574d78f4b08c378dca67bdc84d904fb6bd0aebde2a19b80f00"
|
|
7
|
+
}
|