fix: surface classification progress in ft status#102
fix: surface classification progress in ft status#102tw4dl wants to merge 4 commits intoafar1:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 157079b2f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e887039c62
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c607388b3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1c60738. Configure here.
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6186f4776a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
|
|
||
| const liveProcessStartedAt = processStartedAt(raw.pid); | ||
| if (liveProcessStartedAt && liveProcessStartedAt !== normalizedProcessStartedAt) { |
There was a problem hiding this comment.
Treat unknown process start time as an invalid lock owner
If processStartedAt(raw.pid) fails (for example, PowerShell is unavailable or ps output is unparseable), this branch skips the start-time comparison and keeps the lock active based only on PID liveness; a recycled PID can then block new classify/classify-domains runs even though no classification job is running. Fresh evidence in this revision is that stale-lock cleanup is gated by liveProcessStartedAt && ..., so probe failures still fall back to PID-only behavior.
Useful? React with 👍 / 👎.

Summary
ft statusValidation
npm testnpm run buildNote
Medium Risk
Adds cross-platform process/lock-file handling (including
ps/PowerShell probes) and changes CLI execution flow, which could cause false-positive lockouts or platform-specific failures if process detection misbehaves.Overview
ft statusnow surfaces classification completion counts (categories/domains) and reports an active classification job when one is running.LLM classification commands (
ft classify,ft classify-domains, andft sync --classify) are wrapped in a new lock-file mechanism (classification-lock.json) to fail fast on concurrent runs and to clean up stale/malformed locks safely.Adds
getClassificationProgress()DB query support plus regression tests covering progress counting, lock lifecycle/staleness handling, and updated status output; README docs are updated accordingly.Reviewed by Cursor Bugbot for commit 1c60738. Bugbot is set up for automated code reviews on this repo. Configure here.