Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
e376d7b
docs(design): true up implementation status against the codebase
justin13888 Jul 3, 2026
270bd0f
docs(design): bind the API surface to REST/OpenAPI plus gRPC sync
justin13888 Jul 3, 2026
94291a0
docs(design): fix data-plane contract defects
justin13888 Jul 3, 2026
b50d4fd
docs(design): fix networked-plane contract defects
justin13888 Jul 3, 2026
32132a7
docs(design): complete governance tables and registries
justin13888 Jul 3, 2026
56addec
docs(design): normalize terminology and prune SSoT restatements
justin13888 Jul 3, 2026
6747a81
feat(core): add wrapped file-key and P-256 DSK contract types
justin13888 Jul 3, 2026
7c42832
feat(core): add drop and sharing module skeletons
justin13888 Jul 3, 2026
81073c2
feat(core): add storage and streaming import seams
justin13888 Jul 3, 2026
575ef2c
feat(api): add key-free route skeletons
justin13888 Jul 3, 2026
e1fcfb2
feat(api): add the key-free sync proto contract
justin13888 Jul 3, 2026
b7f347f
chore: remove dead API artifacts and mark legacy freeze points
justin13888 Jul 3, 2026
8c1bd09
docs: add SLICES.md, superseding DEFERRED.md
justin13888 Jul 3, 2026
29a8321
ci: install convco by its fully-qualified cargo backend name
justin13888 Jul 3, 2026
d9fab53
chore: add rawshift as git submodule
justin13888 Jul 4, 2026
8e8e0c3
docs(design): track human review state in frontmatter
justin13888 Jul 4, 2026
747029f
docs(design): specify the upload protocol as a complete strict contract
justin13888 Jul 4, 2026
f7672fa
feat(i18n): catalog the upload error domain
justin13888 Jul 4, 2026
a457da0
refactor(api): align the upload server to the strict contract
justin13888 Jul 4, 2026
6185151
refactor(core)!: fold capsule-media into capsule_core::media
justin13888 Jul 4, 2026
2996a13
refactor(sdk): drop progenitor, stage the spargen transition
justin13888 Jul 4, 2026
022c6c2
docs(design): add the Local Gallery owner contract
justin13888 Jul 4, 2026
e7b714e
feat(core)!: make grouping convergent by construction
justin13888 Jul 4, 2026
693e862
feat(core): add cull and hidden flags to the signed sidecar
justin13888 Jul 4, 2026
88199a8
docs(design): staged uploads, network resilience, and background-sync…
justin13888 Jul 4, 2026
28aeb4d
docs(design): federated sharing via aggregated albums
justin13888 Jul 5, 2026
7faf156
feat(core): device cohorts for session-ledger grouping
justin13888 Jul 5, 2026
d35d972
feat(core): recovery-key verification cadence and single-root invariant
justin13888 Jul 5, 2026
acafac4
docs(design): formalize the local-source-to-album scope grammar
justin13888 Jul 5, 2026
435b424
docs: reconcile SLICES.md with the finalized contracts
justin13888 Jul 5, 2026
909010d
chore: remove dead GraphQL artifacts
justin13888 Jul 5, 2026
e2a779e
docs(design): final consistency pass across the revised set
justin13888 Jul 5, 2026
64c9e8c
feat(docs): render design-doc status as a title badge
justin13888 Jul 5, 2026
5273b21
docs(design): re-pin the MLS suite and correct the blocker to its ver…
justin13888 Jul 5, 2026
840aadd
docs(design): record the verified hardware-key floor behind the P-256…
justin13888 Jul 5, 2026
3ef2ff0
docs(design): link filesystem-index claims to their owner anchor
justin13888 Jul 5, 2026
6daad74
docs(design): make Valkey required and drop the Postgres-only profile
justin13888 Jul 5, 2026
c192d9f
docs(design): make client_version identify the exact producing build
justin13888 Jul 5, 2026
2c61750
docs(design): specify the server-side Postgres-to-blob-store integrit…
justin13888 Jul 5, 2026
6a5be56
docs(design): provable server-side custody and loss
justin13888 Jul 5, 2026
f1a4ee9
fix: align title and badge properly by adjusting container margins
justin13888 Jul 5, 2026
2e5f129
chore: add docs symlink to capsule-docs
justin13888 Jul 10, 2026
2097b9a
docs(design): mark the design overview stable
justin13888 Jul 10, 2026
c91efad
docs(design): pin canonical dependencies in a new owner doc
justin13888 Jul 10, 2026
e4b6891
docs(design): set the TLS 1.3-preferred, 1.2-floor transport policy
justin13888 Jul 10, 2026
d18c343
refactor(core): migrate domain datetime handling from chrono to jiff
justin13888 Jul 10, 2026
cac3ecd
refactor(api): convert chrono to jiff at the entity boundary
justin13888 Jul 10, 2026
a4a32f6
refactor(cli): move status datetimes to jiff
justin13888 Jul 10, 2026
5a483cb
build(sdk): drop the unused chrono dependency
justin13888 Jul 10, 2026
a533610
refactor(xtask): adopt eyre for error handling
justin13888 Jul 10, 2026
ee2d797
docs(design): store the GPS datum verbatim and fold BD-09 at input
justin13888 Jul 10, 2026
e4e6c0e
docs(design): declare the generic lifecycle-write endpoint
justin13888 Jul 10, 2026
1426197
docs(design): contract third-party importers in the import pipeline
justin13888 Jul 10, 2026
1be966b
docs(design): specify tethered camera import over PTP/IP
justin13888 Jul 10, 2026
8c359f0
docs(design): name the official language set and the README translati…
justin13888 Jul 10, 2026
ebe9f9c
docs(design): own the client test and performance tooling strategy
justin13888 Jul 10, 2026
c123a28
docs(slices): split video derivatives and reconcile slices with the docs
justin13888 Jul 10, 2026
e716804
style(cli): apply rustfmt to the jiff status change
justin13888 Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,9 @@ jobs:
- name: Set up convco (via mise)
uses: jdx/mise-action@v2
with:
install_args: convco
# The fully-qualified backend name matching the mise.toml pin — the bare
# short name stopped resolving in the mise 2026.7.0 registry.
install_args: cargo:convco
- name: Check commits follow Conventional Commits
run: convco check --first-parent --ignore-reverts ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}

Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "rawshift"]
path = rawshift
url = git@github.com:justin13888/rawshift.git
9 changes: 9 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@
- Mocking: Use mocks for all external dependencies and critical internal processes. This allows us to have deterministic tests and easily simulate edge cases and failure scenarios that are hard to reproduce with real dependencies. Do not try to wire up two incomplete complex systems to mock each other.
- Linting and formatting is setup to be strict. Pre-commit and pre-push hooks are configured so you won't be able to push code that doesn't meet the standards.

## Dependencies

- Datetime: `jiff`, never `chrono` — chrono exists only as the sea-orm column type inside `capsule-api/entity` and `capsule-cli/entity` (convert at the entity boundary) and in the frozen `capsule-api-library`.
- Errors: `thiserror` in libraries, `eyre`/`color-eyre` in binaries; no `anyhow`.
- Logging: `tracing`, never the `log` facade in new code.
- TLS: `rustls` only; never native-tls/openssl.
- Identifiers: UUIDv7 for new ids; UUIDv4 only where creation time must not leak.
- The canonical table (all platforms, exceptions, rationale) is the [Dependencies design doc](capsule-docs/src/content/docs/design/dependencies.md) — add a row there before introducing a dependency for a new domain.

## Internationalization

- No hardcoded user-facing strings. Every translatable string is a key in the canonical catalogs under `locales/` (ICU MessageFormat). Add the key there, not inline in app code.
Expand Down
Loading
Loading