Skip to content

Add a hist subcommand backed by a daemon posting-history log - #151

Draft
leynos wants to merge 2 commits into
comenq-subcommandsfrom
comenq-hist
Draft

Add a hist subcommand backed by a daemon posting-history log#151
leynos wants to merge 2 commits into
comenq-subcommandsfrom
comenq-hist

Conversation

@leynos

@leynos leynos commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Stacked on #149 (which stacks on #148). Merge order: #148, then #149, then this.

What

  • The daemon appends one JSON line per posting attempt — successful or failed — to <queue_path>/history.jsonl. Success records are written when an entry completes; a failure record is written for each failed attempt (the entry stays queued and retries after a cooldown). A history write failure never stops the retry loop, and malformed lines are skipped on read so one corrupt record cannot hide the rest.
  • New hist protocol operation returning records in chronological order, optionally limited to the most recent N.
  • New comenq hist [-n|--limit LIMIT] subcommand rendering identifier, age, ok/FAIL status, repository, a one-line body summary, and the failure description for failed attempts.

Testing

  • Store unit tests: empty history, round-trip ordering, malformed-line skipping.
  • Protocol round-trip tests for hist and history replies.
  • Client tests: CLI parsing (-n/--limit), request/reply round trip, rendering.
  • BDD: new history.feature (empty history, ordered success/failure records, limit) and extended worker.feature scenarios asserting the worker records successes and failures through the real posting path.
  • Full gates green: fmt, clippy + Whitaker dylint, 188 tests + all cucumber features, markdownlint, nixie.

🤖 Generated with Claude Code

leynos and others added 2 commits July 20, 2026 10:44
The daemon appends one JSON line per posting attempt, successful or
failed, to <queue_path>/history.jsonl. A new hist protocol operation
returns the records in chronological order, optionally limited to the
most recent N, and the client renders them with ages, outcomes, and
one-line summaries via `comenq hist [-n LIMIT]`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@sourcery-ai sourcery-ai 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.

Sorry @leynos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 24e0aac9-6345-4d65-a575-9f865014699c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch comenq-hist

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

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant