Skip to content

tracking: current context index — milestone, critical path, what an agent may pick up #27

Open

Description

@atomchung

Status

Execution routing — refreshed 2026-09-05 after the owner's long-term-design directive. Current main re-read at 8c37b04012d4e54dcb9f063f079def2ddd510e78; open PR collection is empty. No code change, test run or new acceptance result was produced by this handoff.

Current milestone

M1 decision usefulness — greater agent freedom, faithful context use, concise communication without compressing judgment.

The owner has now requested a complete next-session development task optimized for the long-term investor experience, explicitly not another smallest-patch recommendation. This promotes the integrated next wave below. It does not approve an irreversible migration, engine rewrite, privacy relaxation, autonomous execution, new major milestone or PR merge.

Active / claimable implementation

One front: #827, reopened for a coordinated context-to-decision and permission-contract follow-through. Claimable; no implementer claimed yet. Its original PR #828 remains completed history, not work to repeat. Read #827's current body for evidence, scope, acceptance and stopping boundary.

The two connected outcomes are:

  • let the agent choose research, evidence retrieval, tool use and presentation, with code enforcing the relevant fact/write/action boundaries rather than a blanket conversation workflow;
  • make relevant personal context and genuine new evidence change the current judgment or its support, instead of decorating a generic warning or generating another intake.

The reviewer confirmed an important ambiguity on current main: SKILL.md permits record-led and non-portfolio judgment while its always-applicable references/agent-boundaries.md retains a prohibition on arguing a considered trade from anything but consider output, plus unscoped ranking/derived-analysis language. #827 owns correcting the inherited permission scope across actual readers. Its effect on current runtime behavior must be measured, not presumed.

Coordinated contract/reader/output/test changes are authorized when justified by the integrated outcome; implementation is not artificially limited to adding one sentence to the Skill. Conversely, this is not authorization to implement every deferred capability. Prefer a coherent reviewable PR, with ordered splits only when reviewability genuinely benefits.

Ownership / required context

Read latest main, AGENTS.md, the relevant Skill/references and maintainer guide, then #827 and these direct owners. Do not replay the whole backlog. Capture the actual loaded instruction/installation chain; a main checkout does not establish which Skill a host used.

Evidence and acceptance that remain true

PR #845 is merged at 8c37b04. The earlier September 5 review inspected main Actions run 33651572890: product and QA/eval jobs succeeded on Python 3.11/3.12; network smoke was skipped. This is not a live usefulness or market-data claim.

The case run September 2 and ranked September 3 still used the August 14 skill. It cannot accept or reject #845. Preserve the originally requested 5e0c7b6 versus 8c37b04 comparison, or report a new multi-change candidate separately; never attribute the combined gain to one old PR.

Freeze comparable inputs/model/research facts and compare actual old/new Skill runs with the existing same-context/no-skill control. Audit correctness and record fidelity before preference. Include simple/deep decisions, no-book/failure recovery, a subsequent decision with new evidence and irrelevant-context perturbations. No forced recommendation reversal or word-count-only success metric.

Owner-live acceptance remains required for product-complete claims, not a reason to block the newly authorized implementation and offline verification. Missing private harness/live-host access must be reported; finish the code, review, applicable tests and PR where possible without fabricating the missing evidence.

Next safe stopping boundary

Claim #827; establish the behavioral baseline; implement the coherent improvement; run focused/product and applicable QA/eval proof; independently review the diff and delivered answers; open the PR; update #827, affected #844 evidence and this index. Do not merge automatically or mark #610 accepted without its actual receipt.

Then report what improved, what remains unproven and what observed gap would justify the next capability. Numeric/state integrity, explicit durable-write intent, execution truth, local-first privacy, compatibility, idempotency and interruption recovery stay intact. Do not replace a rigid workflow with vague “be smarter” instructions or a new framework by default.

Prior ordering — superseded only for this promoted front

The earlier sequence was: #844 evidence / one-line record-reading follow-up, then forward-dated facts and relative strength, then must_state reduction, then review readers. The owner's new instruction permits treating relevant instruction, selection and expression defects together before those standalone capability additions. It changes implementation scope/order, not the truth of prior results or the requirement for eventual owner acceptance.


Historical September 5 routing before the owner's broader directive

Status

Daily control plane — refreshed 2026-09-05 against main@8c37b04012d4e54dcb9f063f079def2ddd510e78.

This issue is the mutable routing surface for the current milestone. GitHub open state is not an execution queue; lifecycle and claim semantics remain in docs/issue-lifecycle.md.

Current milestone

M1 decision usefulness — concise expression without compressing judgment.

The supported vertical slice remains pre-trade review / challenge: engine-owned portfolio consequences, sourced current facts, contextual judgment, an actionable recommendation, honest delivery, and canonical persistence only after explicit intent. Missing inputs narrow claims, durable writes, or external actions; they do not disable research, reasoning, recommendation, or useful presentation.

Completed evidence:

Current critical path: #844's correctly pinned behavioral comparison and record-use verification, followed by the already approved serial cuts below. The latest public evaluation finding does not evaluate #845: the case run on September 2 and ranked on September 3 still loaded the August 14 skill. Do not interpret that case's old-skill ranking as a new-version verdict. See the existing finding and #844's refreshed body.

Owner ruling 2026-09-02 (#844): the skill is installed inside the user's investing folder and the user's own written record is the first evidence — the deciding reason may come from it and the engine's consequence checks the pick. "No private repo" was a development-side rule (public artifacts stay synthetic; the engine ingests nothing), not a runtime prohibition. The original folder/indexing/scope questions have been settled; no new folder manifest or engine index is required for this slice.

Repository truth

Active implementation fronts

None open. The September 5 work is a repository/UX review and issue refresh, not a code change or a newly opened front. The next front is claimable only after #844's behavioral evidence or an explicit owner promotion of the next cut.

Claimable now

Acceptance and blockers

  1. The user's own record comes first — install inside the investing folder, quote it as theirs, let the engine check the pick (refs #844) #845 implementation: merged at main@8c37b04; product and QA/eval CI verified on main. This is not an owner-usefulness verdict.
  2. [design·M1] The user's own investing folder is the evidence for why a name — install inside it, read it as the user's record, let the engine check the pick #844 behavioral acceptance: the actually loaded skill is correctly pinned; the delivered answer is audited against the relevant standing rules and per-name records; the old/new comparison and owner verdict are recorded on [design·M1] The user's own investing folder is the evidence for why a name — install inside it, read it as the user's record, let the engine check the pick #844. Apply the September 3 owner ruling: add the missing evidence and check whether the action changes that day. Preference, readable phrasing and action change are separate observations; do not force a changed decision or claim future investment returns were tested.
  3. [QA·dogfood] Judgment-quality dogfood — does a real consider answer now carry a supported insight? #610 product acceptance: still requires one private real-decision consider walk with visible delivery, honest verdicts, and live timings.
  4. Integrity: deterministic numbers and state remain engine-owned; model judgment never fills a missing engine fact; the user's own record is quoted as theirs and never relabelled; no contemplated action is described as executed. A valid source/date envelope is not proof of faithful interpretation.
  5. Privacy: real holdings, trades, motives, notes, answers, and owner preference details remain local. Public fixtures and new review evidence are synthetic or generic; refer to existing de-identified findings rather than copying private material.

Safe parallel work

Serial next steps

  1. Repair the actual skill pin, address the already identified record-reading follow-up within [design·M1] The user's own investing folder is the evidence for why a name — install inside it, read it as the user's record, let the engine check the pick #844 when claimed, and record a correctly pinned old/new behavioral result. Name a later candidate separately rather than attributing its effects to The user's own record comes first — install inside the investing folder, quote it as theirs, let the engine check the pick (refs #844) #845.
  2. Open and promote the forward-dated-facts cut; then the must_state reduction; then review flows reading the record. Keep the previously approved order; this review adds no second active front.
  3. Freeze a new main candidate and run [QA·dogfood] Judgment-quality dogfood — does a real consider answer now carry a supported insight? #610's real consider walk with live timings before calling M1 product-accepted.

Stop conditions

  • Do not infer intelligence or usefulness from shorter text alone.
  • Do not infer product acceptance from green tests, source labels or a synthetic exemplar.
  • Do not reinstate a character cap, fixed question count, mandatory counter-case, or research/presentation ceiling.
  • Do not compensate for a weak answer by adding more standing rules; first classify whether the miss is content selection, decision condition, missing evidence, realization, or route reliability.
  • Do not expand Give freeform an upper witness without restoring a length cap #843 past freeform without owner-live evidence.
  • Do not expose private decision content in public issues, PRs, fixtures, or QA receipts.
  • Do not compensate for a missing note by inventing one, and do not read an AI-maintained status field as the user's belief.
  • Do not add a new profile, memory store or engine folder index to repair a missing read in the existing agent-side input path.

Historical routing correction — 2026-09-05

The preceding body retained this pre-merge paragraph even though its later sections correctly said the PRs were merged:

The present critical path remains #836. Its freeform upper-witness implementation is mechanically complete on PR #843; the remaining gates are the owner's merge decision and the frozen simple-versus-research owner-live comparison.

That merge blocker is superseded by the actual August 29 merges and the September 2 #845 slice. The live evidence obligations are retained above. #844's former discussion-only status and unresolved owner questions were likewise refreshed from its already recorded owner rulings and merge receipt; its original proposal remains under historical details. No milestone, product-positioning, scope-boundary or merge approval is changed by this correction.

Activity

  1. atomchung commented on Jul 3, 2026

    @atomchung
    OwnerAuthor

    2026-07-04 凌晨 loop session 盤點(多 session 對齊用)

    本輪開了 7 個 PR(全 CI 綠,待 review/merge),issue 全量 41 → 已解 10 個:

    PR closes 一句話
    #69 #44 MIT LICENSE + 英文 TL;DR;repo description/topics 已直接 gh 設定生效
    #70 #42 #43 隱私措辭架構中立 + card-feedback.yml 表單(Stage 0 回收管道落地)
    #71 #61 TR_JSON/state 契約測試(38 斷言)+ CYCLE_ID_RE 單一事實源 + SKILL 收尾片段煙霧測試
    #72 #62 合成價格路徑測試(11 條:賣太早邊界/β=2/α=rf 恆等式/處方四分支)+ 每週非阻塞 network-smoke job。⚠️ stacked on #71,先 merge #71
    #73 #55 #56 Step 2 強制 AskUserQuestion;Step 3 規矩用戶親選 + FINAL_RULE=SKIP 語意
    #74 #47 onboarding:需要 Claude Code 明示 + PEP 668 venv 三行 + ModuleNotFoundError 補救
    #75 #68 eval-design ↔ EVALS ↔ card-spec 三檔對齊 + C-5/C-6 新判準。C-2 判準依賴 #73 先/同 merge

    merge 順序建議:#71 → #72;#73 → #75;其餘任意(hunks 不重疊)。

    剩餘 code 隊列(下個 session 可直接接,無需討論):

    產品方向 bucket(留 owner 整體討論,本輪不動):
    #3(Stage 0,唯一真命門)· #12(投資 OS Epic)· #16(風格偵測 research)· #31–33(已裁非 MVP)· #34–38(Phase 2 批次)· #54(舉證制,綁 eval harness B-1 落地)· #57/#58(策略庫/profile 推斷)· #60(e2e 驗收,綁 harness)· #15(做空)· #8(chat 版 PARKED)· #6 #5(P2 舊件)

    —— loop session by Claude(worktree zen-hugle-eb5897)

  2. atomchung commented on Jul 5, 2026

    @atomchung
    OwnerAuthor

    2026-07-05 開發過程盤點 → 5 個 process issue(多 session 對齊用)

    對這個 repo 一個月開發史(108+ 番號)做了一輪「並行/需求不清晰/變更」三類問題盤點,缺口逐條拆成 issue(皆含證據+解法選項+建議,留 owner 拍板):

    issue 一句話 便宜的第一步
    #110 修 bug 只修發現的實例,同根因缺全面掃描(#93→#98→#108 拆股 fixture 三連) CLAUDE.md 加一條掃描慣例
    #111 zoom-out review(跨 diff 疊加+persona 壓測)驗證有效但只跑過一次,未固化成批次 merge 前節奏 CLAUDE.md 固化觸發點+三 smell trigger
    #112 關鍵產品假設無時效標記,過時結論被跨 session 複讀(Stage 0 話術案例,owner 2026-07-05 已糾偏) #3+BACKLOG.md:83 補更正註記
    #113 跨檔同步靠人記(eval 三檔/README 雙語/demo 卡多處),缺機械 checker CLAUDE.md 先列鏡像對照表
    #114 worktree/branch 無清理節奏,大掃除後又堆回 11 worktree / 20+ branch 批次 merge 收尾順手清+SOP 下沉 CLAUDE.md

    盤點的第四類(agent 執行品質:工具結果須硬證據驗證、別在錯的 base 下結論)刻意沒開 issue——那是 session 工作紀律不是 repo 缺陷,已在 session 工作記錄層固化;若要下沉可併入 #110/#111 落 CLAUDE.md 時一起。

    並行註記:本批開出期間,#109(knowledge/ai-errors.md 跨 repo AI 錯誤帳本 PR)由另一 session 同時段冒出——與本批無語意對撞,主題與上述第四類親緣,特此互認留痕。

    —— 盤點 session by Claude(worktree infallible-feistel-973c96)

  3. atomchung commented on Jul 5, 2026

    @atomchung
    OwnerAuthor

    2026-07-05 pm 批次收尾(merge + 大掃除)

    本輪 merged(依序):

    大掃除(#114 的 SOP 首次執行):worktree 10→3(留 main / 本 session / 新並行 session xenodochial-clarke-36abde);本地 branch 34→5;remote branch 35→4。刪除標準=PR MERGED 或 commit 可達 main,逐一驗證後才刪。

    刻意保留:

    當前 open PR(皆 owner 決策項):

    —— 批次收尾 session by Claude(worktree sleepy-boyd-6cae2f)

  4. changed the title [-]tracking: 番號釐清 + 當前 PR/issue 地圖(多 session 對齊)[/-] [+]tracking: 當前 milestone / PR / issue context map(多 session 對齊)[/+] on Jul 29, 2026
  5. changed the title [-]tracking: 當前 milestone / PR / issue context map(多 session 對齊)[/-] [+]tracking: current context index — milestone, critical path, what an agent may pick up[/+] on Jul 29, 2026
  6. atomchung commented on Jul 29, 2026

    @atomchung
    OwnerAuthor

    Context-index delta — 2026-07-29 21:xx Asia/Taipei

    The body predates the latest merge sequence and should not be read as the exact current SHA/PR map.

    Detailed M1 delta is recorded on #479; the host-contract blocker is recorded on #549 and promoted on #486.

  7. atomchung commented on Jul 29, 2026

    @atomchung
    OwnerAuthor

    Context delta — 2026-07-29 split review after PR #567

    Active order: #558 narrow repair → #479 Wave B → #544 Slice B → combined #486/#488 exact-SHA acceptance. #571 may follow at the next safe leaf unless it can be included without widening the #558 PR.

  8. atomchung commented on Jul 31, 2026

    @atomchung
    OwnerAuthor

    Routing update, 2026-07-31 — Front A is implemented and in review; Front B is unblocked and unstarted

    Front A · #539 / #536 — done, PR #659 (draft)

    One shared primitive, book_refresh.carry_recorded_starts, reached by both adoption lanes. Full offline suite green (49/49); three mutations recorded on the PR. Both issues close with it.

    Three things the design review changed before implementation, each recorded on its owning issue:

    1. The plan this index carried would not have closed [bug·design·P2] Every new snapshot declaration re-asks for theses it was already given #539. "One shared carry-forward primitive in both lanes" closes [bug·design·P2] A review-lane anchor adoption spends the user's holding-duration answer #536 alone: _carry_forward_provenance was gated on a since_basis stamp, and the appearance question that produces one is only asked for a position that appears after the book exists — so every position in a user's first declaration was unstampable and reminted regardless of lane. What is carried is the start itself now, read off the derived book. (#539)
    2. The seam is one layer below [bug·design·P2] A review-lane anchor adoption spends the user's holding-duration answer #536's stated fix shape, which would have added a second allow_engine_provenance=True call site the suite counts. No prepare reordering was needed. (#536)
    3. A correctness hazard [bug·design·P2] Every new snapshot declaration re-asks for theses it was already given #539 widens, closed in the same PR. cycle_id is ticker#since#seq; carrying the start without the sequence hands a position bought back on the day it was sold the identity, thesis, standing conditions and closed status of the cycle it replaced. Reachable through an adoption that asks the user nothing.

    New leaf: #660 — adopting a book resets add_count/decision_cursor for a position never sold. Same defect class, adjacent field, not fixed by the above and deliberately not folded in. Discussion, not queued.

    Front B · #403 / #450 — unblocked, not started

    The "parallel on file disjointness" framing in this index understated the coupling: Front B's contract depended on an unmade Front A decision (identity-preserving versus alias-based continuity), which is why the reader contract in #450 assumed an alias producer. That decision is now made and shipped as identity-preserving, so:

    Two defects in #403's frozen event contract should be fixed before the schema is written, both recorded there: the content-addressed event_id swallows a genuine re-statement when a user oscillates between two wordings, and change: initial | changed | no_change folds a user act together with a fact the fold derives (#403).

    Unchanged

    #610 still owns M1 acceptance and this PR is not part of its frozen candidate. The serial review.py integration slice still waits for Front B.


    Generated by Claude Code

  9. added a commit that references this issue on Jul 31, 2026
  10. atomchung commented on Jul 31, 2026

    @atomchung
    OwnerAuthor

    2026-07-31 · daily control-plane decision

    Owner direction: the daily 08:00 repository scan must land on GitHub and produce executable expected changes that other AI agents can claim.

    Decision

    Current result

    No unowned implementation task is safe to claim today: PR #661 already owns the active implementation front; #610 is an owner-live judgment-quality walk; the #403 direct-entry → next-review integration slice remains serially blocked until #661 is accepted.

  11. atomchung commented on Jul 31, 2026

    @atomchung
    OwnerAuthor

    2026-07-31 QA-round routing delta

    Changed the control plane after one owner QA round:

    Only #649 and #665 are claimable now. No third implementation front.

  12. atomchung commented on Jul 31, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-01: both QA repair fronts executed to completion

    Nine leaves, nine PRs, all merged. main@db6e114. Every PR: independent CI green on 3.11+3.12, full offline suite green, coordinator review with mutation spot-checks; the first two leaves were additionally verified as a combined local synthesis tree (full suite + an end-to-end replay of the original QA incident: USD book + TWD interest row + card-beat cash answer now prepares, converts, and records correctly with zero second-instant price fetches).

    Front A — truth and usable pre-trade evaluation (complete)

    Leaf PR What landed
    #649 #685 (fa499b3) One currency-universe builder (held + cash-flow rows) drives both FX acquisition and the fail-closed gate; 1.0 identity fallback removed; pure books byte-stable. Recorded deviation: accepted cash anchors excluded from the universe (rationale + reversal condition in #649's closing comment; flowless-anchor drop filed as #688).
    #664 #693 (dc654a1) Position cost reaches the stem in its native currency; ranking compares one base currency via the frozen fx map; missing rate refuses ranking instead of raw-unit ordering. One review-found defect (divergent aggregate-currency fallback) fixed before merge.
    #673 #695 (b0bd0a8) A per-holding integrity warning excludes and discloses that holding; denominator and rule collisions computed over usable holdings only; premise on the excluded holding refuses by name; structural/unscopable/no-usable-holding stay fatal.
    #674 #697 (2435764) Non-recoverable consider refusals carry a bounded usable_facts packet (frozen concentration + committed rule); new episode EP-010 + usable_facts_grounding checker enforce the decision-framing obligations.

    Front B — review lifecycle and honest evidence (complete)

    Leaf PR What landed
    #665 #684 (e662164) add-cash recomputes on the frozen market frame (TR_MARKET_DATA_FROZEN, exact-request reuse, never reaches a provider) and the drift gate compares positively-named source facts; refusals name "the facts moved" vs success anchor_propagated. Root cause was the recompute's own second live resolution, not the wholesale comparison (which is inert once the frame is frozen — regression gap filed as #686).
    #667 #692 (843c085) planned_entry declares its thesis-capture requirement and collects it in the same exchange; validator unchanged and strict.
    #677 #694 (5fbb9b9) Receipt cash-anchor obligation derives from the executed plan (--cash-anchor-status); not_applicable means zero events; a fabricated decline fails as a contradiction.
    #663 #696 (c217228) Exactly-once preview receipt is the settled pre-commitment card: provided must precede the recorded preview pair (recompute), declined stays after it (no recompute).
    #662 #698 (db6e114) Cash ask accepts an amount or a percentage; owner disposition recorded 2026-08-01 on #662 (denominator = cash + position market value, stated in plain words, one confirmation); engine owns the disclosed p/(1−p) conversion against the frozen position value; multi-currency percentage = single aggregate-currency anchor, mismatch refuses.

    New issues filed during the campaign

    #686 (drift-gate wholesale-comparison regression gap), #687 (same-day cache never serves a book with a permanently-unpriced symbol), #688 (flowless cash anchor silently dropped; must take anchors back into the universe when fixed), #689 (alpha_beta_note dead field + zh hardcode on en cards), #690 (account_perf residual-currency KeyError hardening), #691 (price-degraded test lanes masked #665; priced harness now exists). All Status: Discussion, none claimed.

    Body staleness note

    This body's Claimable now (#649/#665) and both QA repair Front sections are now fully landed and stale. Until the next full scan rebuilds the body: there is no claimable QA-repair implementation leaf left; the standing next actions are (1) owner-only — freeze a new exact main SHA (db6e114 or later) and rerun #610's four judgment-quality checks, per this body's "Next order" step 4; (2) the PR #661 scope split (unchanged, still frozen, still not a third front); (3) stale-base docs PR #614 disposition.

  13. atomchung commented on Aug 1, 2026

    @atomchung
    OwnerAuthor

    Daily delta — 2026-08-01 08:03 +08:00

    This comment records only routing changes since the preceding completion delta; the full current truth is now in the issue body.

    Current safe parallelism: owner reruns #610; one agent may claim #654; the existing #661 owner may perform only the required split/rebase, followed by independent review. No fourth lane.

  14. atomchung commented on Aug 1, 2026

    @atomchung
    OwnerAuthor

    Routing update — #683 owner-approved prototype lane (2026-08-01 11:05 +08:00)

    Owner has approved #683 for an isolated prototype / draft PR only.

    This does not change the M1 merge path: PR #700 / #676 → #654 → freeze SHA → #610 remains authoritative. #683 may proceed in parallel only under these bounds:

    Owning contract and acceptance are now consolidated in #683's updated body. Treat #683 as prototype work, not as the next milestone or a reason to delay #654/#610.

  15. atomchung commented on Aug 1, 2026

    @atomchung
    OwnerAuthor

    Owner-directed parallel docs lane recorded: #699 / draft PR #701 refresh all three README variants as the complete public product journey. This is not a second autonomous product implementation front and does not change the #676 → #654 → #610 runtime critical path. For README design, the owner explicitly instructed us to treat #676's direct, evidence-bound voice as the finished product baseline rather than explain or qualify the personality work. Scope is documentation only: user moments, first visible value, bounded questions, observable delivery, user-owned action, continuity, privacy/truth boundaries, installation and recovery. No runtime, card, state, schema, route, demo-asset, or M2 capability change.

  16. 39 remaining items

  17. atomchung commented on Aug 6, 2026

    @atomchung
    OwnerAuthor

    2026-08-06 — delta: v0.1.0 tagged and released

    The frozen candidate moved and was published. ba132a3 is superseded by
    main@c40ab16, tagged v0.1.0 — the repository's first tag, first release,
    and first changelog. .claude-plugin/plugin.json had carried 0.1.0 for some
    time without that version ever existing as a tag.

    Two owner rulings changed this body's standing conclusions.

    1. [P2·cross-client UX] Codex 無法完成選項互動與卡片交付;artifact 綠不等於 review 完成 #230 downgraded P0 → P2 and explicitly does not gate the release.
      This body said whole-product MVP remains blocked by [P2·cross-client UX] Codex 無法完成選項互動與卡片交付;artifact 綠不等於 review 完成 #230, and that stays true
      of the MVP claim. What changed is that v0.1.0 does not make that claim, so
      the tag was not held for a cross-client delivery adapter. The defect is
      unfixed and the issue is open.
    2. The README is a promotional document. An earlier revision of PR docs(release): v0.1.0 — stop promising what only one host delivers #817
      added a "Version and known limitations" section stating that owner-live
      acceptance had not happened. The owner removed it: not exaggerated, but not a
      place to surface the project's own open questions either. CHANGELOG.md
      keeps a limitations list; [P2·cross-client UX] Codex 無法完成選項互動與卡片交付;artifact 綠不等於 review 完成 #230 keeps the discussion. This body's own framing
      of acceptance status is unchanged and remains accurate — it simply is not
      what the front door says.

    Merged since the last scan: PR #818 / #737 (positions returned
    positions: [] with every weight null on a fully priced mixed-currency book —
    broken since cmd_positions was introduced in #561, silent, status: "ok";
    the command now reaches _consider_valuation_frame like consider does, and a
    weight it genuinely cannot state carries the engine's own reason). PR #817
    (release documentation, two new mechanical checks, two stale assertions
    corrected).

    Filed: #816 — a positions row carries no currency, so on a mixed book
    the native figures are unlabelled. Reachable only now that such a book produces
    a populated list at all.

    Closed: PR #614 as a stale claim; its finding (a profile.md registry entry
    describing a writer nobody built, still present on main) recorded on #58. The
    stale-claim lane in this body is now empty — there are no open PRs.

    Corrected in docs/maintainer-guide.md: the mirrored-surfaces entry for
    canonical ticker identity still described the spelling-derived cycle_id that
    #814 / PR #815 retired along with the cycle_identity module.

    Not changed by any of this: usefulness, inline delivery and latency remain
    unaccepted. A tag is a published version, not an acceptance event, and nothing
    here should be read as one.

  18. atomchung commented on Aug 6, 2026

    @atomchung
    OwnerAuthor

    2026-08-06 — v0.1 first-version product assessment

    Status

    Treat the current release as a controlled real-use / design-partner first version:

    Current repository truth

    User outcome available now

    Within a supported local coding-agent host, a user can:

    1. Challenge a contemplated long trade before action and make thesis, evidence, invalidation, risk cap, price and sizing explicit.
    2. Receive deterministic score/risk-cap/summary/lifecycle output rather than agent-authored arithmetic.
    3. Confirm before persistence, preserving the distinction between contemplated, under-review and executed actions.
    4. Backfill, complete, resume, inspect history and re-check invalidation criteria through a local, replayable decision trail.
    5. Use the additive positions route for holdings/weight/concentration review where denomination semantics are safe.
    6. Keep durable artifacts local, with schema validation, atomic/idempotent writes and recovery-oriented runbooks.

    Explicit non-capabilities

    The first version does not provide:

    • stock selection, alpha, trading signals or guaranteed better decisions;
    • live prices, news, filings or a research terminal;
    • broker connectivity or execution proof;
    • short-selling workflows;
    • FX conversion or trustworthy account-wide mixed-currency totals;
    • identical rich interaction across every host;
    • a standalone web/mobile product;
    • proof yet that the owner understands the output unaided or would reuse it next week;
    • automated personal-rule learning from the decision trail.

    Blocker classification

    1. Product-acceptance blocker: [QA·dogfood] Judgment-quality dogfood — does a real consider answer now carry a supported insight? #610. This does not block shipping the runtime, but it blocks claims that the product is validated, repeatedly useful or behavior-changing. The smallest evidence is one private real-decision run, a sanitized public receipt, and explicit owner feedback.
    2. Scoped correctness blocker: [bug] positions rows carry no currency, so a mixed-currency value/impact is unlabelled #816. This does not block the core consider/lifecycle release boundary, but it blocks describing mixed-currency positions output as fully trustworthy until every raw row value/impact carries its denomination.
    3. Deferred interaction limitation: [P2·cross-client UX] Codex 無法完成選項互動與卡片交付;artifact 綠不等於 review 完成 #230. Keep at P2 unless [QA·dogfood] Judgment-quality dogfood — does a real consider answer now carry a supported insight? #610 or repeated target-host evidence shows that delivery failure prevents the first useful outcome. Do not build a generalized host adapter speculatively.
    4. Windows generation activation and host-specific visuals remain disclosed support boundaries, not launch blockers, provided promotional copy does not promise identical seamless behavior on every platform.

    Public positioning decision

    Use the category local-first investment decision-audit layer / 本地优先的交易决策审计层.

    Recommended first-screen promise:

    下单前,把冲动变成一份可复核的交易计划。

    FOMO Kernel 不替你选股,也不预测市场。它要求你写清 thesis、invalidation、risk cap 与 sizing,用确定性规则检查这笔交易,并把 decision trail 保存在本地,供执行前 challenge 与事后复盘。

    Primary proof points:

    • AI does not own the math: deterministic, replayable score/risk/lifecycle contracts do.
    • A contemplated action is never silently presented as an executed trade.
    • Durable decision evidence remains local and recovery-safe.

    Avoid public claims such as AI investment advisor, alpha, better returns, signal engine, investment OS, automated personal learning, fully automated portfolio management, or seamless on every host.

    README / promotion assessment

    PR #817 removed the material factual anomalies: the first-timer entry now says this is a coding-agent skill rather than a standalone app, release status is v0.1.0, installation no longer starts with test-only dependencies, Chinese card coverage is aligned, plugin metadata no longer describes the old CSV-card product, and transcript evidence is not presented as executable host testing.

    Remaining copy risk is claim breadth rather than factual breakage:

    Next smallest step

    Run #610 against the current candidate without another broad UX redesign. Only open an implementation front from a reproducible acceptance failure. In parallel, #816 is the only currently justified narrow correctness patch if positions remains part of the public first-version story.

    Privacy boundary remains unchanged: real decision inputs and receipts stay private; only synthetic or sanitized evidence belongs in this public repository.

  19. atomchung commented on Aug 7, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-07 08:01 +08:00

    Changes since the prior 2026-08-06 07:58 daily scan:

    Owner decisions newly relevant after the release: decide from #610 evidence whether any bounded correction is warranted; separately decide whether to promote #816 to an executable Implementation contract. #592 remains an unchanged repository-setting discussion.

  20. atomchung commented on Aug 8, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-08 08:02 +08:00

    No repository-state delta since the 2026-08-07 daily scan:

    Fresh verification did not change routing: PR-head CI evidence for #817/#818 remains green, while the merge commit itself still exposes no independent combined-status / PR-triggered workflow verdict through the available GitHub status endpoints.

  21. atomchung commented on Aug 9, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-09 08:03 +08:00

    No repository-state delta since the 2026-08-08 daily scan:

    Reason for no routing change: the repository, PR set, and directly owning/acceptance issue states are unchanged since the prior scan.

  22. atomchung commented on Aug 10, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-10 08:03 +08:00

    No repository-state delta since the 2026-08-09 daily scan:

    Reason for no routing change: the published first-version tree, open-PR set, acceptance evidence, lifecycle states and owner rulings are all unchanged.

  23. atomchung commented on Aug 11, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-11 08:02 +08:00

    Changes since the 2026-08-10 daily scan:

    No new issue was needed.

  24. atomchung commented on Aug 12, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-12 08:00 +08:00

    Changes since the 2026-08-11 daily scan:

    Reason for no routing change: the observed main SHA, open-PR set, acceptance evidence, lifecycle states and owner rulings are all unchanged.

  25. atomchung commented on Aug 13, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-13 08:02 +08:00

    No repository-state or execution-routing delta since the 2026-08-12 scan.

    No existing owner needed modification and no new issue was justified.

  26. atomchung commented on Aug 15, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-15 08:05 +08:00

    No new issue was needed.

  27. atomchung commented on Aug 19, 2026

    @atomchung
    OwnerAuthor

    Delta — 2026-08-19 21:40 +08:00

  28. atomchung commented on Sep 5, 2026

    @atomchung
    OwnerAuthor

    Routing refresh — #827's implementation front is open in PR #847

    Claimed and implemented in one session from main@8c37b04012d4e54dcb9f063f079def2ddd510e78. gh pr list was empty at claim time and the branch is the only open PR from this work. Not merged; no automatic merge.

    What moved

    One front, four connected changes, two commits — the permission ambiguity this index named, the shape law that caused it to matter, the record-selection failure #844 found, and the continuity gap that made the loop unclosable.

    1. The reference ambiguity this index called out is resolved. references/agent-boundaries.md forbade "rankings", "derived analysis" and arguing a considered trade "from anything but consider's output", all unscoped, while SKILL.md mandates candidate ranking, labelled judgment and a record-led deciding reason. Each prohibition now scopes to the fact it protects: a portfolio-derived number or ranking, a portfolio figure the engine did not emit, and a considered trade's portfolio consequence. The engine ranks the user's positions and only it does; a preference among candidates the user asked about is judgment, labelled, entering no canonical state.

    2. The expression shape was amended at its authority, not overridden from a route file. docs/expression-contract.md §3's increment gate went from does the decision change? to the action, the confidence in it, or the comparison against the alternative in play, with a paired rule that a wait stance owes the evidence that settles it and the next checkable point. Both land in the mother chapter through §3.4's first lane and are logged in §8 — no new V/D/C ID, no character-count ceiling, four named bans unchanged.

    3. [design·M1] The user's own investing folder is the evidence for why a name — install inside it, read it as the user's record, let the engine check the pick #844's item 2 — standing decision rules in the record read, plus the qualifier-fidelity rule. See the comment on [design·M1] The user's own investing folder is the evidence for why a name — install inside it, read it as the user's record, let the engine check the pick #844.

    4. review._unresolved_prior projects at most one unsettled same-ticker consideration onto the consider response with the evaluation_id --resolve needs. That identifier was previously emitted only in the response that minted it, so a consideration left open on this route could never be closed on it and _prior_decision stayed permanently empty for that ticker. It carries no decision and no decided_on: an open row is a question that was asked, never a decision.

    Evidence

    Product group 49/49, whole registry 60/60, tests/test_consider.py 234/234, locally on Python 3.14.

    Eighteen mutations across two rounds against the new reader and its call site. Fourteen were caught by the first section R. Four survived, and independent review is what found them — each now has its own test, re-run against the mutation to confirm it reddens:

    • dropping _fold_evaluations from the open reader, which let one consultation reach the agent as both "you reported acting on this" and "you never told me what you did". The disjointness is the fold's, not the two decision tests'. The assertion that should have caught it was a coin flip — two ids minted the same day, ordered lexicographically, so it passed or failed with the calendar;
    • a non-string evaluation_id, whose guard was present and untested because max() on a one-row fixture never compares;
    • a call site hard-coding "buy", reversing the same-side preference for every sell the user brings, with no sell-side current consultation anywhere in section R;
    • decision != "open" loosened to not in PRIOR_DECISION_RESOLVED, projecting a row carrying null as a question the user was asked and never answered.

    A fifth survives by design and the code says so: the evaluation_id exclusion prevents self-recall, not the call's placement before the append.

    Six more review findings, all mine, all fixed in the third commit. The most serious: docs/expression-contract.md §3.1's summary table still carried the pre-amendment gate fourteen lines above the amendment, so the mother law gave two different tests on one page. Also: the recap gate I narrowed was defeatable by the contract's own house style and is restored to a whole-file ban; unresolved_prior shipped with no relevance gate, contradicting boundary 5 and SKILL.md's own ask-only-decision-changing-questions rule; and ranking a user's own holdings was reachable through the widened candidate-ranking permission. Details on the PR.

    #846 is filed, not bundled: an evaluation_id of an unhashable type raises inside _fold_evaluations before any reader's checks run, taking down a live answer over a corrupt historical row. It reproduces on main@8c37b04 through prior_decision's identical fold, and the fix belongs to the shared reader and its four callers.

    One observation that needs no change here but is worth keeping: the product gate is blind to the mirrored-surface class. The five surfaces the second commit synced were all still un-synced one commit earlier, with --group product 49/49 green.

    The loaded instruction chain was measured per SHA. The always-on surface (SKILL.md + agent-boundaries.md, the two files an installed host gets) went 14,113 → 15,929 → 18,735 bytes across 5e0c7b6, 8c37b04 and this branch. That growth is prose, it is a real cost, and SKILL.md is now 11,866 of its 12,288-byte budget. The routed 123 KB is the must_state reduction's territory and is deliberately not touched here.

    What remains unproven, precisely

    Serial order after this

    Unchanged, and this PR bundles none of it: engine-supplied forward-dated facts and relative strength (#781's deterministic half), then the must_state reduction, then review flows reading the same record. #776/#781 were not opened; no calendar, news or provider expansion is in this branch.

    Next safe stopping boundary

    Independent review of the diff is done and its findings are on the PR. The boundary is owner decision on the PR plus a named candidate SHA for #844 item 5. Integrity, privacy, idempotency, interruption recovery and explore-before-commit are intact; every added example is synthetic.

  29. atomchung commented on Sep 5, 2026

    @atomchung
    OwnerAuthor

    Merged. PR #847 squashed to main@22c502e792b66f6314cae3560bb4748231b1259a on 2026-09-05, by owner instruction in session.

    CI verified on the merged commit: Actions run 33968463095 — product-contract and qa-eval-tooling succeeded on Python 3.11 and 3.12; network-smoke skipped.

    This is implementation evidence on the supported versions. It is not behavioural evidence, and nothing here claims the answers got better. What is now true is only that the changed contract, the widened increment gate, the record-reading rules and the unresolved_prior projection are the code an installed host loads.

    The candidate for the next comparison is therefore 22c502e, not this branch's head. The harness pin is still b6bb069 (2026-08-14) and has to move in route.sh, tools/route_fomo.py, templates/manifest.yaml and RUNBOOK together before any run counts.

    Open PRs after this merge: none. Open implementation fronts: none — the next cuts in the owner-approved order (engine-supplied forward-dated facts, then the must_state reduction, then review flows reading the same record) each still need their own issue before code. #846 is filed and unclaimed.

  30. atomchung commented on Sep 6, 2026

    @atomchung
    OwnerAuthor

    2026-09-06 repository-truth correction and context research routing

    Latest main is 22c502e792b66f6314cae3560bb4748231b1259a (PR #847), not 8c37b04. Directly inspected main branch, current SKILL.md, the open-PR collection (empty), #844's merge receipt, and main Actions run 33968463095: product-contract and qa-eval-tooling succeeded on Python 3.11/3.12; network-smoke skipped.

    Stale-body finding: this index and #827 still describe the integrated wave as not started; #844's body still calls standing-rule selection/qualifier preservation a proposed patch. PR #847 and current code already contain those changes plus unresolved_prior. Do not claim or redo that work from those stale headers. The latest merge evidence is in #844's existing receipt. This comment records the discrepancy; it does not claim those issue bodies have been rewritten or that all behavioral acceptance is complete.

    The owner asked to evaluate, not implement, a context-centered next iteration. #446's current body has been updated as Research / Discussion only, preserving the old proposal as history. It defines good context, separates observed style / chosen strategy / demonstrated efficacy, and proposes testing whether a useful conversation forms correctable understanding that helps a later decision. #844 remains the faithful record-use and behavioral-comparison owner; no parallel memory architecture or new active front is created.

    Recommendation: prioritize evidence for context selection/use and low-effort context formation over unrelated metric/report expansion, without treating every calculation as waste or requiring every answer to write memory. The immediate verification still needs an actually loaded, correctly pinned candidate, the existing same-context/no-Skill comparator, and honest source/decision/understanding/effort observations. A combined 22c502e result is not an isolated #845 result. #610 remains owner-live acceptance authority.

    This research pass changed no code, runtime data, public positioning, milestone, merge approval or deployment. No new model run or live acceptance is claimed. Public evidence remains generic/synthetic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions