Atlas 技術版 > 每日 deterministic PIT observation snapshot
(purpose 尚未填寫 — manifest 為 draft/INFERRED)
mode=NO_AGENT state=scheduled enabled=1
schedule=40 15 * * *
next_run=2026-10-21T15:40:00 last_run=2026-10-20T15:40:35
deliver=local model=— provider=—
script=/Users/exion/.hermes/scripts/capture_pit_observation.py
monitor_script=— monitor_url=—
skills=[]
workdir=—
prompt_sha256=0c1a2fe8d201ce63… chars=678
skill_files={}
執行 /Users/exion/.hermes/scripts/capture_pit_observation.py。以 investment.db.watchlist_memberships 中 scope_key=observation 且 valid_to IS NULL 的 canonical active rows 建立 expected_members,依 canonical contract 排除 benchmark 0050。先驗證 stock_list observation projection 與 expected_members 完整一致,以及 active membership 的 source_ref/provenance 完整;不得使用固定 universe count。capture exact member set,並 read-back 驗證 member set、count、universe hash、provenance。來源缺失/異常、set mismatch、duplicate/malformed membership、storage 超限或 same-day collision 不一致均須 FAIL_CLOSED;同日完全一致只回報 ALREADY_PRESENT。只寫專用 PIT store,watchlist_mutation=false;不得修改 watchlist、daily history、corporate actions、Discovery、Trading Rule 或下單。…
| rule | value | source |
|---|---|---|
| BENCHMARK | 0050 | CODE_STATIC @capture_pit_observation.py:23 |
| DATA | /Users/exion/.hermes/data | CODE_STATIC @capture_pit_observation.py:24 |
| STOCK_LIST | /Users/exion/.hermes/data/stock_list.json | CODE_STATIC @capture_pit_observation.py:25 |
| INVESTMENT_DB | /Users/exion/.hermes/data/investment.db | CODE_STATIC @capture_pit_observation.py:26 |
| PIT_DB | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | CODE_STATIC @capture_pit_observation.py:27 |
| kind | path | name | access |
|---|---|---|---|
| SQLITE_DB | /Users/exion/.hermes/data/investment.db | unknown | |
| SQLITE_DB | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | unknown | |
| SQLITE_DB | /Users/exion/.hermes/data/investment.db | read | |
| SQLITE_DB | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | read/write | |
| SQLITE_TABLE | file:/Users/exion/.hermes/data/investment.db?mode=ro | securities | read |
| SQLITE_TABLE | file:/Users/exion/.hermes/data/investment.db?mode=ro | watchlist_memberships | read |
| SQLITE_TABLE | file:/Users/exion/.hermes/data/investment.db?mode=ro | sqlite_master | read |
| SQLITE_TABLE | file:/Users/exion/.hermes/data/investment.db?mode=ro | pit_snapshots | read |
| SQLITE_TABLE | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | pit_snapshots | read |
| SQLITE_TABLE | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | pit_members | read |
| SQLITE_TABLE | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | pit_snapshots | read |
| SQLITE_TABLE | file:/Users/exion/.hermes/data/investment.db?mode=ro | pit_snapshots_dynamic | write |
| SQLITE_TABLE | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | pit_snapshots | write |
| SQLITE_TABLE | /Users/exion/.hermes/data/pit_observation_snapshots.sqlite | pit_members | write |
| FILE_READ | /Users/exion/.hermes/data/stock_list.json | read | |
| FILE_READ | /Users/exion/.hermes/data/stock_list.json | read | |
| FILE_READ | /Users/exion/.hermes/data/stock_list.json | read |
Upstream: —
Downstream: —
Transitive downstream (0): —
| type | hard? | from | to | resource | origin | conf | evidence |
|---|---|---|---|---|---|---|---|
| none | |||||||
failure_streak=0
last_error=—
delivery_error=—
change_risk=MEDIUM