|
| 1 | +# Image-generated slide artifact routing closeout |
| 2 | + |
| 3 | +## Answer first |
| 4 | + |
| 5 | +Ready for independent review in draft PR [#128](https://github.com/drpedapati/sciclaw/pull/128). The implementation is committed and pushed; merge, release, Homebrew publication, and Data3 deployment have not been performed. |
| 6 | + |
| 7 | +## What changed |
| 8 | + |
| 9 | +SciClaw now routes image generation by the requested final product instead of allowing tool salience to switch between a wordless illustration and an editable PowerPoint. The obsolete “real experimental data” warning was removed from runtime guidance, workspace templates, and the image-generation RFC policy. A built-in `image-generation` skill distinguishes four products: standalone image, visual asset for another artifact, editable presentation, and complete worded image-generated slide. |
| 10 | + |
| 11 | +The complete-slide contract encodes the successful DEB stress-capacity pattern: 16:9 composition, action title, concise audience-facing wording, integrated exhibit or visual analogy, and clear takeaway. Provider image transport, persistence, and Discord attachment code are unchanged. |
| 12 | + |
| 13 | +The repository now vendors `.agents/skills/ship-job/`, and root `AGENTS.md` points repository work to that copy. Its SciClaw continuation gates merge, versioning, release, Homebrew deployment, surgical DEB workspace guidance refresh, canary verification, and rollback. |
| 14 | + |
| 15 | +## Repository position |
| 16 | + |
| 17 | +- Repository: `https://github.com/drpedapati/sciclaw` |
| 18 | +- Worktree: `/Users/ernie/Developer/sciclaw/.worktrees/image-slide-artifact-routing` |
| 19 | +- Branch: `codex/image-slide-artifact-routing` |
| 20 | +- Base: `main` at `8b9a9df8670e93ef5e233aa2c2ad5cc7bc7a7743` |
| 21 | +- Reviewed implementation commit: `8d3cae4c` |
| 22 | +- Pull request: [#128](https://github.com/drpedapati/sciclaw/pull/128) |
| 23 | + |
| 24 | +This correspondence is a packet-only follow-up to the reviewed implementation commit. Review the current PR head to include this document. |
| 25 | + |
| 26 | +## Merge train |
| 27 | + |
| 28 | +One car: PR #128, `main` → `codex/image-slide-artifact-routing`. It has no branch or PR prerequisite. Safe order is review and green CI, then an explicitly authorized merge. Release and deployment follow only after that merge. |
| 29 | + |
| 30 | +## Verification |
| 31 | + |
| 32 | +- `go test ./pkg/agent ./pkg/providers ./pkg/workspacetpl/...` — passed. |
| 33 | +- `go test ./... -count=1` — passed sequentially across all packages. |
| 34 | +- `go vet ./...` — passed. |
| 35 | +- `go build ./cmd/picoclaw` — passed. |
| 36 | +- `git diff --check` — passed. |
| 37 | +- `uv run --with pyyaml python .../quick_validate.py .agents/skills/ship-job` — valid. |
| 38 | +- `uv run --with pyyaml python .../quick_validate.py skills/image-generation` — valid. |
| 39 | +- Independent standards review — initial duplication concern fixed; re-review found no material findings. |
| 40 | +- Independent spec review — DEB refresh, academic hierarchy, and routing-test gaps fixed; re-review found no material gaps. |
| 41 | + |
| 42 | +One timing-sensitive binary-inspection test was killed while four Go workloads ran concurrently. The isolated test passed, and the complete suite then passed sequentially. This was treated as resource contention, not hidden as a green first run. |
| 43 | + |
| 44 | +## Limits |
| 45 | + |
| 46 | +- No merge, tag, GitHub release, Homebrew tap update, or deployment has occurred. |
| 47 | +- Live four-mode DEB acceptance requires the released binary and refreshed routed workspace, so it remains a post-release canary. |
| 48 | +- The provider does not persist an internal rewritten image prompt; this change does not claim prompt-level reproducibility beyond saved user/session context. |
| 49 | + |
| 50 | +## Next safe action |
| 51 | + |
| 52 | +Run the independent GitHub review below against the current PR head and close CI. If no material findings remain, request explicit merge authorization. After merge, use `.agents/skills/ship-job/references/sciclaw-release.md` for a separately authorized release and Data3 deployment. |
| 53 | + |
| 54 | +## Independent review prompt |
| 55 | + |
| 56 | +```text |
| 57 | +Act as an independent senior engineer reviewing a proposed SciClaw change. Do not trust the implementer's summary as proof. Inspect the repository, exact PR diff, tests, prompt assembly, skills, packaging, and cited evidence yourself. |
| 58 | +
|
| 59 | +When finished, submit findings on the pull request as a GitHub review. Approve only if no material findings remain; request changes for merge blockers; comment when evidence is incomplete. Do not merge, push fixes, or resolve your own findings. |
| 60 | +
|
| 61 | +Repository: drpedapati/sciclaw — https://github.com/drpedapati/sciclaw |
| 62 | +Pull request: #128 — https://github.com/drpedapati/sciclaw/pull/128 |
| 63 | +Base branch and commit: main at 8b9a9df8670e93ef5e233aa2c2ad5cc7bc7a7743 |
| 64 | +Head branch: codex/image-slide-artifact-routing; inspect the current PR head |
| 65 | +Worktree: /Users/ernie/Developer/sciclaw/.worktrees/image-slide-artifact-routing |
| 66 | +
|
| 67 | +Job requested: |
| 68 | +Vendor the ship-job development skill inside SciClaw and point repository guidance to it. Remove the misleading generated-image provenance warning. Preserve working provider transport. Route standalone images, slide assets, editable PowerPoint, and complete worded image-generated slides as distinct products. Complete-slide mode must encode the successful DEB stress-capacity communication hierarchy. Prepare the verified draft PR and a gated Brew/Data3 continuation without merging or deploying. |
| 69 | +
|
| 70 | +Material constraints: |
| 71 | +- No provider image transport, media persistence, or Discord attachment rewrite. |
| 72 | +- No merge, release, Homebrew mutation, or production deployment in this PR run. |
| 73 | +- Existing DEB guidance must be refreshed surgically after release; unrelated workspace instructions must survive. |
| 74 | +
|
| 75 | +Implemented design: |
| 76 | +The runtime hosted-tool note and workspace template route to one canonical built-in image-generation skill. That skill owns the detailed four-product contract and presentation hierarchy. Baseline onboarding installs it. Negative regression tests prevent restoration of the removed warning and assert all four routes. A repo-local ship skill owns PR closeout and a separately gated SciClaw release continuation. |
| 77 | +
|
| 78 | +Changed-file map: |
| 79 | +- pkg/agent/loop.go: concise hosted-tool routing pointer. |
| 80 | +- pkg/agent/context_test.go: prompt, template, and canonical-skill regressions. |
| 81 | +- skills/image-generation/SKILL.md: four-product source of truth. |
| 82 | +- cmd/picoclaw/main.go: baseline skill installation. |
| 83 | +- pkg/workspacetpl/templates/workspace/AGENTS.md: workspace routing pointer. |
| 84 | +- docs/issues/gpt55-image-generation-rfc.md: replace obsolete policy. |
| 85 | +- .agents/skills/ship-job/** and AGENTS.md: vendored development workflow and pointer. |
| 86 | +- .gitignore: allow only the vendored ship skill beneath otherwise local `.agents` state. |
| 87 | +
|
| 88 | +Claims requiring independent verification: |
| 89 | +1. Runtime/template/skill guidance no longer contains the obsolete warning except negative test literals. |
| 90 | +2. All four requested artifact modes, academic hierarchy, 16:9 complete-slide contract, and DEB reference are protected by meaningful tests. |
| 91 | +3. Provider transport and outbound attachment behavior are unchanged. |
| 92 | +4. Existing DEB workspace remediation is bounded, diff-verified, and release-gated. |
| 93 | +
|
| 94 | +Tests reported: |
| 95 | +- go test ./... -count=1 — pass |
| 96 | +- go vet ./... — pass |
| 97 | +- go build ./cmd/picoclaw — pass |
| 98 | +- git diff --check — pass |
| 99 | +- both SKILL.md packages pass quick_validate.py |
| 100 | +
|
| 101 | +External ground truth: |
| 102 | +The DEB Discord thread produced a successful complete image-generated stress-capacity slide only after the user explicitly distinguished it from both a wordless conceptual image and an editable PowerPoint. The implementation uses that communication hierarchy as a qualitative reference, not a pixel snapshot. |
| 103 | +
|
| 104 | +Known limitations: |
| 105 | +- Live DEB four-mode acceptance is a post-release canary. |
| 106 | +- Internal provider-rewritten image prompts are not persisted. |
| 107 | +
|
| 108 | +Review tasks: |
| 109 | +1. Confirm the diff matches requested behavior without broader changes. |
| 110 | +2. Flag dead code, dual policies, or leftovers from earlier attempts. |
| 111 | +3. Trace runtime prompt assembly and baseline skill installation. |
| 112 | +4. Check failure modes, workspace migration safety, packaging, and rollback. |
| 113 | +5. Confirm tests fail for old behavior and cover important negatives. |
| 114 | +6. Reproduce critical claims where practical. |
| 115 | +7. Report findings by severity with file/line references. |
| 116 | +``` |
0 commit comments