daybook/artifacts
peter 2b901f7844 v0.3.1: bearer-token reads; public skill + capabilities
Fixes an inconsistency an agent hit: it could POST/PATCH/DELETE with its token
but GET (readback) required a session and 302-redirected to the browser login.

- GET /api/artifacts and GET /api/artifacts/{id} now accept a bearer token OR
  a session, owner-scoped (a token reads only its owner's artifacts). Agents
  can read back what they posted with the same token.
- Unauthenticated API requests return a JSON 403, never a browser-login
  redirect (resolve_request_user helper; dropped @login_required on the JSON
  read views).
- GET /api/skill and GET /api/capabilities are now public (no user data), so
  an agent can fetch the contract + posting instructions before it has a key.
- Docs (api.md, CLAUDE.md) updated; tests for bearer readback, owner-scoping,
  and the JSON-403-not-redirect behavior. Suite: 132 passing; verified live.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-04 14:50:48 +01:00
..
migrations Release v0.2.0: multiple named API keys per user 2026-09-04 10:52:43 +01:00
templatetags v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
__init__.py Initial public commit 2026-09-01 21:55:02 +01:00
admin.py v0.2.1: top-bar avatar, You/Admin settings groups, admin models 2026-09-04 11:33:23 +01:00
apps.py Initial public commit 2026-09-01 21:55:02 +01:00
demo_data.py Initial public commit 2026-09-01 21:55:02 +01:00
exception_handlers.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
forms.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
models.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
storage.py Fix concurrent posts racing past quota (issue #010) 2026-09-02 15:22:37 +01:00
urls.py Release v0.2.0: multiple named API keys per user 2026-09-04 10:52:43 +01:00
views.py v0.3.1: bearer-token reads; public skill + capabilities 2026-09-04 14:50:48 +01:00