genichin
21f268ac53
chore(release): v0.4.0
Verify container release contracts / verify (push) Canceled after 0s
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-09-19 21:32:21 +09:00
genichin
f79f3c79b5
chore(release): prepare v0.3.4
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-09-13 23:08:22 +09:00
genichin
c7d8235bde
fix: make corporate actions atomic and recoverable
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-09-13 19:33:07 +09:00
genichin
2b470c735f
fix(portfolio): tolerate consolidation WAC residue
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-09-13 18:36:00 +09:00
genichin
1010d257ad
chore(release): prepare v0.3.1
2026-09-13 15:32:27 +09:00
genichin
5b443f718e
chore(release): prepare v0.3.0
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-09-13 15:03:06 +09:00
genichin
5d6a0ad013
feat(portfolios): allow unassigned strategy creation
2026-08-22 21:21:24 +09:00
genichin
6e17a53b17
chore(release): prepare portfolio-hub v0.2.0
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-08-21 17:13:34 +09:00
genichin
ac742b1150
feat(portfolios): add unified ledger history API
2026-08-20 12:01:28 +09:00
genichin
02bfa60299
chore(release): prepare portfolio-hub v0.1.3
Publish verified PortfolioHub image / verify (push) Canceled after 0s
Publish verified PortfolioHub image / publish (push) Canceled after 0s
2026-08-16 16:57:26 +09:00
genichin
c292df0a4b
chore(release): harden nick contract for v0.1.2
2026-08-15 23:46:57 +09:00
genichin
9c8baac70b
feat(container): harden v0.1.1 publication
2026-08-15 15:14:36 +09:00
genichin
c4f8718872
fix: respect root_path in FastAPI docs
2026-05-21 21:45:39 +09:00
genichin
e6b6a8715b
feat: implement daemon model with registry and single-asset assignment (BAT-010, REQ-023/028)
...
Core Implementation (BAT-010):
- Add daemon registry schema and CRUD operations (req-023)
- Implement single-daemon asset assignment constraint (one asset per daemon)
- Add daemon_id field to service_token for daemon identification
- Add daemon.py CLI module for daemon management commands
- Add 20260513_0016_daemon_model.py migration for daemon tables
API Changes:
- GET /v1/assets: include daemon_id in AssetResponse
- POST /v1/assets/{asset_id}/ledger/trades: require daemon token binding
- GET /v1/user_info: include daemon metadata
- Enhanced service-token rotate to preserve daemon bindings
CLI Commands:
- pfhub daemon register --name <name> --runtime-id <runtime-id>
- pfhub daemon list
- pfhub daemon get <daemon-id>
- pfhub daemon revoke <daemon-id>
Requirements (REQ-023, REQ-028):
- REQ-023: Daemon Registry and Service Token Daemon Binding (Interface, Approved)
* AC-1: daemon CRUD operations
* AC-2: service token daemon binding for POST /v1/assets/{asset_id}/ledger/trades
* AC-3: single daemon per asset (exact-one assignment model)
- REQ-028: README.md Daemon Provisioning Runbook update (Documentation, Approved)
Documentation:
- Add dcy-006 Discovery for daemon-id and single-daemon asset assignment
- Update README.md with Daemon Provisioning Runbook section
- Add BAT-010 batch documentation with planning, implementation, verification
- Update rel-006 release document (daemon model implementation)
- Update data-model.md with daemon and daemon_asset_assignment tables
- Update interface-contract.md with daemon registry APIs
- Update runtime-flows.md with daemon lifecycle flows
Breaking Changes:
- REQ-005~009, REQ-011~012 status reverted to Approved due to revised contract
* daemon_id field addition and exact-one asset assignment requirement
* Existing Implemented evidence invalidated by contract revision
* BAT-001/002/008 re-verification required
Testing:
- Add test_daemon_registry.py for daemon CRUD operations
- Add test_daemon_assignment.py for single-asset assignment constraints
- Update test_auth.py, test_cli.py, test_v1.py for daemon support
- Verify daemon token binding in trade endpoint authorization
Impact:
- Database: 2 new tables (daemons, daemon_asset_assignments)
- Migration: 20260513_0016 creates daemon model schema
- CLI: 4 new daemon subcommands
- API: daemon_id propagation through v1 endpoints
- Verification: BAT-001/002/008 re-verification gates next release
2026-05-13 23:07:24 +00:00
genichin
ce63c75c9c
feat(V1-API): implement TREX-Basic consumer API contract with encryption and persistence
...
- Add V1 API endpoints: assets, ledger, user-info
- Implement Fernet-based credential payload encryption (req-010)
- Extend health response schema with runtime info (req-004)
- Add service token runtime ID issuance (req-005)
- Implement database schema migration for V1 API (req-009)
- Add comprehensive test coverage for V1 endpoints
- Update SRS with 10 new requirements (REQ-004 through REQ-011)
- Create batch planning, design, and verification for BAT-001
- Integrate review-discovery StagePilot skill
- Update documentation indices and baseline specs
2026-05-02 09:06:15 +00:00
genichin
d383c7086f
작업 내용 저장
2026-04-23 09:56:08 +00:00
genichin
0e9d2a16d8
feat: 주요 CLI, 인증, 서비스 로직 및 문서 개선
2026-04-15 00:48:22 +09:00
genichin
6998936858
feat(auth): add admin-managed bot API keys with expiry and revocation
2026-04-03 13:12:29 +00:00
genichin
06b1805b92
feat(auth): add DB-backed login, token management, and idempotent auth migration
2026-04-03 12:55:34 +00:00
genichin
3e3acbd13d
chore: initial project scaffold and gitignore
2026-04-03 07:33:32 +00:00