Skip to content

feat: make required actions visible in every completed cycle - #322

Merged
flowcool merged 12 commits into
mainfrom
clarify-operator-actions
Oct 27, 2026
Merged

flowcool merged 12 commits into
mainfrom
clarify-operator-actions

Conversation

@flowcool

@flowcool flowcool commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Behavior

Pending review holds and other required actions could survive a successful cycle without a reminder. Register explicit required-action decisions and send one redacted consolidated summary per completed cycle, including simulation, until current evidence resolves them. Keep financial requests, selection, approvals and exits unchanged.

Report notification delivery and per-account import/cash evidence separately. Preserve native application levels under Supercronic: DEBUG/INFO on stdout, WARNING+ on stderr. Label APP_VERSION as build identity. Synchronize and archive the approved clarify-operator-actions specification.

Release impact

Minor: successful cycles with required actions now notify in simulation and live mode. Clean success sends no heartbeat. No financial migration. Rollback: revert the change. Stable publication and deployment remain separate. Shared-helper propagation: cash acceptance evidence in ghostfolio.py changed; DEGIRO remains pinned under ADR 0007 and needs a separate propagation change.

Verification

  • 68 operator_action acceptance tests pass; all task selectors collect tests.
  • Final-head CI passes the full test gate, including Ruff, strict mypy and ten-year retention. The local finalization/token-expiry gate also passes all 256 tests after the notification-label correction.
  • Final Docker build and isolated network-disabled runtime smoke pass: actual scheduler stream framing, installed CLI severity routing, preserved LAB_EVIDENCE JSON and isolated notification worker.
  • OpenSpec strict validation: four specifications pass. All 128 baseline scenarios are retained.
  • Merged origin/main before publication; the candidate tree is unchanged. No real broker, portfolio or notification destination was contacted.

AI assistance

Codex implemented and checked the change. Local review covered repository standards, approved scenarios, credential boundaries and the semantic diff. CI and Pullfrog must verify the published head.

Pullfrog review

Pullfrog is the sole reviewer. Require a completed review of the final head and resolve actionable threads. All technical CI checks remain required; ignore only the known sticky pullfrog-approval status. Run pr-ship under the repository workflow.

Review evidence: completed Pullfrog review of f7c816274e33b331778fe65791e9332a7d733e9a. The actionable thread is resolved. All required CI checks pass; pr-ship merged the evaluated head as 18b6ece4769ccb928c624c15c1f32ceedcb79a51.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the feature New capability label Oct 27, 2026

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ No critical issues — one minor suggestion inline.

Reviewed changes

Initial review of the clarify-operator-actions implementation and archive: required-action registration, the consolidated notification, cycle/account evidence, cash evidence and log stream routing.

  • Required-action registry — outcome.record_action stores fixed reason codes with private scope keys, deduplicated per event and reason. action_summary exposes only codes, counts and fixed instructions externally.
  • Notifications in every mode — _finalize_notification drops the dry_run_requested() silence. Recorded actions, token expiry and a forced TZ preview now notify in simulation too, and Notification result is logged explicitly.
  • Action sources — dividend rejections are mapped through DIVIDEND_REJECTION_ACTIONS, which covers every reject(...) string in sync.py and has an AST completeness test. Trade, mapping, review, corporate-action and diagnostic findings are also recorded. Selection, writes and exit codes are unchanged.
  • Cycle and account evidence — log_operational_result reports success, success with user action required or failure, plus per-account imports, duplicates, holds, deferrals and cash. Unknown values are reported as unavailable.
  • Cash evidence in ghost_update_cash_balance — the run now records not updated, simulated, uncertain/failed or request reported successful per account. The PR body already flags this shared-helper change for DEGIRO propagation.
  • Log streams — __main__ sends DEBUG/INFO to stdout and WARNING+ to stderr. entrypoint.sh runs Supercronic v0.2.51 with -passthrough-logs -split-logs, and the container runtime check verifies both streams.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using claude-opus-5-5 | 𝕏

Comment thread ghostfolio_ibkr_sync/app.py

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

Since the last Pullfrog review, one commit landed. It fixes the earlier finding about the notification label.

  • Action-only notification label — _finalize_notification now uses "Token expiry" only when days is not None and otherwise falls back to "User action". The label now follows the same branch order as the title/body selection, so private delivery logs name the real trigger.
  • Delivery matrix test — test_operator_action_delivery_explicit now checks that "Token expiry notification" never appears and that "User action notification" is logged when delivery is configured.

Pullfrog  | Fix it ➔ | View workflow run | Using claude-opus-5-5 | 𝕏

@flowcool
flowcool merged commit 18b6ece into main Oct 27, 2026
10 checks passed
@flowcool
flowcool deleted the clarify-operator-actions branch October 27, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant