docs: bring specs back in line with the code - #173
Merged
Conversation
Section B of the round-3 audit: documentation-only drift, no behaviour changes.
data-model.md
- Config model still had ticker1/ticker2; it is tickers: list[str] with any
number supported. extended_hours was missing. session_money_budget now
documents the >0 rule.
- candle_timeframe was missing 10min and 15min.
- Session id was "session-{random_seq}"; it is a zero-padded ordinal,
run-1/session-0001, which is also what spec.md Clarification Q4 says.
- execution_result values were EXECUTED/SKIPPED_BUDGET/SKIPPED_MARKET_CLOSED/
SKIPPED_API_ERROR; the code writes EXECUTED/HOLD/FAILED, with the specific
reason in ORDER_FAILED telemetry.
- trailing_stop_high_watermark was documented as NULL for non-Momentum; it is
seeded to entry_price for every position (#130).
- "zero, one, or two Positions per Session" predated multi-ticker.
contracts/agents.md, research.md
- The execution-telemetry known gap was closed by #141; both files still
described it as open. Replaced with what is actually emitted.
- research.md said the execution agent subclasses google.adk.BaseAgent and
overrides _run_async_impl. It is a plain Python class with model = None;
recorded why the ADK subclass was dropped.
- The EVALUATION_FAILED-missing-from-EVENT_TYPES note was also stale.
contracts/report-context.md
- Named _run_session; the method is _process_session.
- Omitted ticker_details[].execution_result, which is populated.
- Said the feedback agent parses id="investment-thesis"; it is ticker-scoped
as investment-thesis-{ticker} (#134), with a fallback for old reports.
contracts/cli.md
- Documented 3 of 6 commands; version, verify-telemetry and reset were missing.
- --timeframe listed 3 of 5 values.
- --budget said "0 or negative = no limit"; negative is now rejected.
- Sample output used the old random-suffix session ids.
spec.md
- Said the investigation agent is invoked "per unblocked ticker"; it is invoked
once with all unblocked tickers so it can reason about them side by side.
tasks.md
- Left as a historical task record, with a note at the top pointing at the two
places it has been overtaken: the ordinal evaluation window (replaced by an
absolute UTC deadline in #122) and the unscoped thesis id (#134).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Section B of the round-3 audit: documentation-only drift. No behaviour changes, no code touched.
data-model.md
ticker1/ticker2; it istickers: list[str]with any number supported.extended_hourswas missing entirely.session_money_budgetnow documents the > 0 rule (fix: session_money_budget has no positive-value check (config-schema.md) #170).candle_timeframewas missing10minand15min.session-{random_seq}; it is a zero-padded ordinal,run-1/session-0001- which is also whatspec.mdClarification Q4 says, so the two specs contradicted each other.execution_resultvalues wereEXECUTED/SKIPPED_BUDGET/SKIPPED_MARKET_CLOSED/SKIPPED_API_ERROR; the code writesEXECUTED/HOLD/FAILED, with the specific reason inORDER_FAILEDtelemetry.trailing_stop_high_watermarkwas documented as NULL for non-Momentum; it is seeded toentry_pricefor every position (trailing_stop_high_watermark is never initialised to entry_price #130).contracts/agents.md, research.md
remaining_session_budget.research.mdsaid the execution agent subclassesgoogle.adk.BaseAgentand overrides_run_async_impl. It is a plain Python class withmodel = None; recorded why the ADK subclass was dropped.contracts/report-context.md
_run_session; the method is_process_session.ticker_details[].execution_result, which is populated - the note that "execution_result is always None" was only true of the top-level field.id="investment-thesis"; it is ticker-scoped asinvestment-thesis-{ticker}(Feedback agent extracts the wrong ticker's thesis from multi-ticker reports #134), with a documented fallback for older reports.contracts/cli.md
version,verify-telemetryandresetwere missing.--timeframelisted 3 of 5 accepted values.--budgetsaid "0 or negative = no limit"; negative is now rejected (fix: session_money_budget has no positive-value check (config-schema.md) #170).spec.md
tasks.md
Left as a historical task record rather than rewritten, with a note at the top pointing at the two places it has been overtaken: the ordinal evaluation window (replaced by an absolute UTC deadline in #122) and the unscoped thesis id (#134).