Files
portfolio-hub/examples/bootstrap-baseline/docs/interface-contract.md
T
genichin 362b008940 Squashed '.vendor/stage-pilot/' changes from 7ab085e..551777b
551777b feat: add interface contract and data model baseline support to bootstrap-baseline
f17e086 feat: add bootstrap seed file support to bootstrap-baseline skill
be85338 feat: introduce lightweight change path, change-req skill, and release feedback loop
949bb40 docs(skill): new-discovery 병렬 Discovery 및 active-cycle 처리 규칙 강화
7f96130 docs: fix draft-req skill template paths
94b1445 diff --git a/.github/skills/draft-batch-design/SKILL.md b/.github/skills/draft-batch-design/SKILL.md index 5f87d00..944e075 100644 --- a/.github/skills/draft-batch-design/SKILL.md +++ b/.github/skills/draft-batch-design/SKILL.md @@ -1,6 +1,6 @@  ---  name: draft-batch-design -description: "Use when: drafting the design document for an existing batch, running /draft-batch-design with a BAT ID, filling docs/batches/<BAT_ID>/design.md, or recording architecture and interface decisions before implementation." +description: "Use when: drafting the design document for an existing batch, running /draft-batch-design with a BAT ID, filling docs/batches/<BAT_ID>/design.md, recording architecture and interface decisions before implementation, or planning updates to docs/project-structure.md and docs/runtime-flows.md."  argument-hint: "예: bat-001 또는 docs/batches/bat-001_20260424_scaffold"  user-invocable: true  --- @@ -9,27 +9,43 @@ user-invocable: true
d1ce3ce 프로세스 완전 변경

git-subtree-dir: .vendor/stage-pilot
git-subtree-split: 551777bc7009ee133fbaab1267ca324f1dc3c6bb
2026-04-30 13:00:41 +00:00

3.1 KiB

Sample Host Project Interface Contract

  • Baseline Mode: declared
  • Baseline Seed: .stagepilot/bootstrap/baseline.yaml
  • Status: confirmed
  • Owner: Platform Team
  • Last Updated (KST): 2026-04-30 16:30
  • Source Discovery / Batch: bootstrap-baseline
  • Primary Runtime: api-service

Project Summary

  • Python-based API service for curated market data analysis.

Primary Domain

  • financial analytics

Purpose

  • This document captures the initial interface contract baseline after StagePilot bootstrap.
  • It provides a shared reference for future REQ, design, implementation, and verification work.

Scope

  • Covers the planned API and job interfaces exposed by the sample host project.
  • Does not duplicate detailed acceptance criteria or generated OpenAPI/schema artifacts.

Interface Summary

  • HTTP market data API :: serve curated market data and derived analytics to clients
  • Refresh job command :: update stored market data snapshots from upstream sources

Interface: HTTP market data API

  • Type: http-api
  • Consumers / Producers: internal dashboards and downstream service clients
  • Purpose: serve curated market data and derived analytics to clients
  • Stability: experimental

Inputs

  • GET /markets/{symbol} :: request the current curated snapshot for a symbol
  • GET /analytics/{symbol} :: request derived analytics for a symbol

Outputs

  • JSON market snapshot payload :: current normalized market data for the requested symbol
  • JSON analytics payload :: derived analytics and summary metrics for the requested symbol

Error Contract

  • 404 not_found :: symbol is not available in the curated dataset
  • 503 upstream_unavailable :: refreshed data is temporarily unavailable

Compatibility Rules

  • response payload changes should remain backward compatible within the same API version

Interface: Refresh job command

  • Type: cli
  • Consumers / Producers: operators and scheduled automation
  • Purpose: update stored market data snapshots from upstream sources
  • Stability: internal

Inputs

  • python -m src.jobs.refresh_market_data :: trigger a refresh of curated market data snapshots

Outputs

  • refreshed local snapshot artifacts :: normalized data persisted for later API reads

Error Contract

  • non-zero exit code :: refresh failed and data should be treated as stale

Compatibility Rules

  • command arguments and exit-code semantics should remain stable for automation callers

Shared Constraints

  • all interfaces assume symbol identifiers are validated before persistence or response rendering
  • refresh failures must not silently overwrite previously known-good snapshots

Current Gaps / Planned Changes

  • authentication and authorization rules are not defined yet
  • API versioning strategy is still undecided

Update Triggers

  • Update this document when an externally visible API, event, CLI, or file contract changes.
  • Update this document when a batch changes compatibility, validation, or error behavior.
  • Update this document when a new external consumer or producer is introduced.

Change Log

  • 2026-04-30: bootstrap-baseline created the initial interface contract baseline from declared project inputs.