Files
2026-09-18 23:15:05 -04:00

22 lines
2.5 KiB
Markdown

# Milestone 1 contract
User-selected scope: multi-character assets and **reference/estimated valuation** in both assistant and conventional views; first EVE login creates an application user; single-host Docker Compose deployment.
## Acceptance criteria
- Shared deterministic service aggregates only the authenticated application user's connected characters; browser and assistant do not duplicate valuation logic.
- An unauthenticated request returns a typed authorization-required state and a connect action. Original request can resume after connecting/synchronizing. Missing scopes and incomplete/stale synchronization are not silently treated as empty assets.
- EVE OAuth secrets/refresh tokens never enter browser-visible queries, serialization or logs. Multiple-character connection is explicit and cannot silently transfer a character between application users.
- Reference prices carry source and timestamps. Missing/unpriceable items and partial character coverage are explicit. Estimate is not Jita price, a firm sale offer, immediate liquidation, or an assertion of liquidity.
- The initial scaffolding phase consumed only tiny representative fixtures. The subsequently authorized live-data phase adds explicit full-archive adapters and production-profile validation. Normal queries read normalized indexed SQLite, never runtime fixture/raw archive JSON.
- Compiler makes a new artifact, validates it, atomically publishes it and preserves a rollback target. Independent Reference Data/Hoboleaks source state survives individual failures. Invalid imports cannot replace active data.
- Central ESI transport controls compatibility date, pagination, conditional cache, retry/rate limits and redacted observability. Sync does not replace a complete snapshot with partially fetched pages.
- JEV makes typed semantic routing judgments only. Permissions, capabilities, lookups, arithmetic and execution are deterministic code.
- Tests run offline on Bun. Production build is checked. Live credentials and full archive compatibility are separate validation gates and must not be represented as completed if not exercised.
## Explicitly not delivered in milestone 1
Full manufacturing optimization, blueprint/skills synchronization, wallets, market-depth ingestion, order-book-based liquidation, arbitrage, capital route search, definitive structure docking authorization, full general-purpose EVE conversational answering, and a production-certified full-archive ingestion pipeline.
Interfaces and domain models should make these incremental additions possible, not pretend they already work.