rebase#2728
Conversation
…mint-repository Forward-fill short price gaps to prevent artificial max-drawdown spikes
Fix ConfigContext refresh loop causing repeated API calls
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
b0d7afd
into
codex/implement-feature-from-issue-2714
GPT AI Code Review1. Acceptance criteriaThere are no linked issues or acceptance criteria provided, so I cannot assess whether the diff satisfies any specific requirements. The PR title "rebase" does not provide clarity on the intent or scope of the changes made. It would be beneficial to have a more descriptive title or a summary of the changes to understand the purpose of this PR. 2. Bugs and logic errors
3. API, data, and workflow safety
4. Test coverage
5. Minor issues (optional)
Summary Verdict: REQUEST CHANGES. The PR requires a more descriptive title, additional tests for the frontend changes, and a review of the implications of the new authentication logic. Reviewed by GPT via gpt-pr-review.yml. Advisory only. |
Claude AI Code ReviewCode Review: "rebase" PR1. Acceptance criteriaNo linked issue. Reviewing on merits as instructed. 2. Bugs and Logic Errors
def _active_instruments_dir() -> Path:
if _INSTRUMENTS_DIR != _DEFAULT_INSTRUMENTS_DIR or _INSTRUMENTS_DIR.exists():
return _INSTRUMENTS_DIR
return _resolve_instruments_dir()Since
if not explicit_local_fallback:
return {}Previously:
fallback_portfolio = self._portfolio
if fallback_portfolio is None and _DEFAULT_PORTFOLIO_SNAPSHOT is not None and _portfolio_snapshot is not _DEFAULT_PORTFOLIO_SNAPSHOT:
fallback_portfolio = _portfolio_snapshot(self.owner, pricing_date=self.end) or None
self._portfolio = fallback_portfolio or self._portfolio
self._owner_portfolio = fallback_portfolio or NoneThe condition
values = values[values.index <= calc.reporting_date]This filter is applied per-series before
repo_path = Path(repo_root).expanduser() if repo_root else Path(__file__).resolve().parents[2]
if not repo_path.exists():
repo_path = Path(__file__).resolve().parents[2]Old code: if
- for key in ("full_name", "display_name", "preferred_name", "owner", "name"):
+ for key in ("full_name", "display_name", "preferred_name", "name"):Removing 3. API, Data, and Workflow Safety
if allowlist_raw and not (cfg.disable_auth or os.getenv("TESTING")):
The semantics flip: previously the last value wins; now the first value wins. This is described as "section-based values parsed earlier take precedence over legacy top-level entries." This needs careful validation — any config file relying on top-level overrides to override section values will silently break. There's no test covering this priority inversion.
A binary data file with test/demo state is tracked in the repo and modified. This is a workflow smell — this file should either be gitignored or managed separately. The missing newline is a minor formatting issue but indicates it may be written by code rather than edited by hand.
os.environ["TESTING"] = "1"
previous = backend_config.offline_mode
backend_config.offline_mode = True
...
try:
yield client
finally:
backend_config.offline_mode = previous
4. Test CoverageGood additions:
Missing coverage:
5. Minor Issues
REQUEST CHANGES — The Reviewed by Claude via claude-pr-review.yml. Advisory only. |
No description provided.