diff --git a/docs/superpowers/evidence/prettier-endurain-readme-2026-08-23.json b/docs/superpowers/evidence/prettier-endurain-readme-2026-08-23.json new file mode 100644 index 00000000..cea74df1 --- /dev/null +++ b/docs/superpowers/evidence/prettier-endurain-readme-2026-08-23.json @@ -0,0 +1,28 @@ +{ + "intent": "Unblock the shared branch by applying prettier to endurain/README.md, which was committed unformatted by another agent and fails the pre-push prettier hook for everyone pushing after it.", + "scope": [ + "endurain/README.md (formatting only)", + "Non-goal: any content change; this file belongs to another agent's feature" + ], + "changes": [ + "Ran the repo's prettier over endurain/README.md, reflowing 9 lines" + ], + "verification": [ + { + "command": "npx prettier --check on every markdown/json/yaml file in the push range", + "result": "fail", + "evidence": "Only endurain/README.md was flagged; my own files and the other agent's json/yml were already clean." + }, + { + "command": "npx prettier --write endurain/README.md; git diff --stat", + "result": "pass", + "evidence": "9 insertions, 9 deletions -- pure reflow, no content added or removed." + } + ], + "risks": [ + "The file belongs to another agent's in-flight feature; a formatting-only change could conflict with their next edit, though prettier output is deterministic so a re-run converges." + ], + "rollback": [ + "git revert the commit; the pre-push prettier hook will then block pushes again until it is reformatted" + ] +} diff --git a/endurain/README.md b/endurain/README.md index afed8730..94c6c5af 100644 --- a/endurain/README.md +++ b/endurain/README.md @@ -10,15 +10,15 @@ unlock authority. ## Paths -| What | Where | -|---|---| -| Public URL | `https://endurain.kuhy.duckdns.org` | -| Local URL | `http://127.0.0.1:8085` (loopback only) | -| WebDAV inbox | `https://kuhy-cloud.duckdns.org/RunnerUp` → `~/cloud/RunnerUp/` | -| Runtime data | `/var/opt/endurain/` | -| Ledger | `~/.local/state/endurain-import/ledger.json` | +| What | Where | +| ------------- | --------------------------------------------------------------------------- | +| Public URL | `https://endurain.kuhy.duckdns.org` | +| Local URL | `http://127.0.0.1:8085` (loopback only) | +| WebDAV inbox | `https://kuhy-cloud.duckdns.org/RunnerUp` → `~/cloud/RunnerUp/` | +| Runtime data | `/var/opt/endurain/` | +| Ledger | `~/.local/state/endurain-import/ledger.json` | | Importer code | `../python_pkg/endurain_import/` (repo requires Python under `python_pkg/`) | -| Secrets | `.env`, `.api_key` (both gitignored, mode 600) | +| Secrets | `.env`, `.api_key` (both gitignored, mode 600) | ## Flow @@ -56,7 +56,7 @@ cd .. && .venv/bin/python -m pytest python_pkg/endurain_import/tests/ -q # 52 t it rides on the existing Let's Encrypt cert. - **Endurain does not deduplicate.** Re-uploading a file creates a second activity. All dedupe is the importer's job, on two axes: the content hash, - *and* an activity key that collapses the `.gpx`/`.tcx` pair RunnerUp writes + _and_ an activity key that collapses the `.gpx`/`.tcx` pair RunnerUp writes for a single run (different bytes, same run). - **`X-API-Key`, not `X-Client-Type`.** Endurain's own OpenAPI schema declares the `APIKeyHeader` scheme with the wrong name; verified against the server.