Repository navigation
Phlox v0.4.0 — Research, public data and reliability
Phlox v0.4.0 expands research from gathering sources into collecting datasets, analyzing records and producing reports. It also improves completion handling, session continuity and recovery from interrupted work.
These notes cover the significant changes since v0.3.0.
Public API research
Research can now query three supported public data sources:
- NIH RePORTER: project searches with organization and fiscal-year filters, award information and cited pagination.
- PubMed: publication searches, bibliographic records, abstracts and author affiliations.
- ClinicalTrials.gov: study searches and detailed study information.
Queries retain citations and retrieval history, validate supported filters and pagination, and retry temporary failures within bounded limits.
From datasets to reports
- Bulk collection: Collect larger datasets without consuming a separate citation for every small preview page.
- Resumable progress: Retain collected records and explicitly continue incomplete acquisitions without starting over.
- Inspectable coverage: See how many records were captured, whether more remain, and where duplicates or missing values affect analysis.
- Reproducible exports: Export CSV/JSON records with query provenance and coverage manifests.
- Analysis and reporting: Inspect columns, apply filters, calculate grouped counts and sums, and generate HTML reports with tables and bar charts.
- Custom analysis: Research can explicitly hand off to approved Python and other workspace tools for custom charts, calculations and report files.
Analysis can use remaining Model passes after evidence gathering ends. Available files and missing deliverables are shown separately, and follow-up requests can reuse retained datasets.
Better evidence and research context
- Retrieve relevant passages beyond the beginning of long web pages, with targeted selection and pagination.
- Reread captured sources without fetching them again.
- Capture PDF text with page provenance and selected JSON values or records.
- Maintain an inspectable, source-linked Research notebook containing findings, disagreements and open questions.
- Reduce repeated tool content in model input while retaining access to original evidence.
More useful budgets and completion handling
- Administrators can configure Brief, Standard and Thorough research presets.
- Standard and Thorough defaults provide more room for substantial research.
- Progress displays distinguish gathering allowances, model passes and reported usage.
- Current generation settings apply consistently to existing conversations, while explicit overrides remain supported.
- Empty, truncated and incomplete responses receive clearer outcomes and bounded continuation where appropriate.
- Model-call diagnostics expose effective limits, context fitting and completion reasons.
Normal Chat remains the default. Research allowances do not override provider limits, deployment budgets or execution permissions.
Reliability and usability
- Fixed model selections that failed to persist for some providers.
- Removed duplicate answer-file cards caused by repeated writes to the same file.
- Improved workspace file matching for generated dataset bundles.
- Prevented agent-generated files from triggering development reloads.
- Preserved development login sessions across source reloads and improved reconnection after reauthentication.
- Distinguished temporary backend/network failures from authentication loss.
- Added pre-drain cancellation and an overall shutdown deadline.
- Preserved completed answers and pending approvals during restart recovery. Unconfirmed tool actions remain explicitly uncertain and are never automatically replayed.
- Fixed non-root production container startup and added container startup/readiness/shutdown checks to CI.
- Updated frontend dependencies and expanded setup, research, configuration and recovery documentation.
Upgrading
Back up your installation before upgrading, retaining your existing configuration, data directory and stable signing secret.
Normal startup applies checked database migrations through 0009_api_datasets. Do not manually stamp the database or replace it to enable the new features.
Existing manual or systemd production deployments should use:
uv run --no-cache --no-sync -m app.server --host 127.0.0.1 --port 8000Phlox’s default shutdown deadline is 30 seconds. Updated Compose and systemd examples allow 40 seconds externally. If you customize PHLOX_SHUTDOWN_SECONDS, keep the supervisor’s stop timeout at least five seconds longer.
See the [User Guide](https://github.com/robert-mcdermott/phlox/blob/v0.4.0/docs/USER_GUIDE.md), [Research guide](https://github.com/robert-mcdermott/phlox/blob/v0.4.0/docs/RESEARCH.md) and [public API documentation](https://github.com/robert-mcdermott/phlox/blob/v0.4.0/docs/PUBLIC_API.md).
Current boundaries
Public API support covers the implemented adapters, not arbitrary APIs. Generated reports still require review for scope, citations, calculations and presentation; successful file creation does not establish scientific correctness.
Code execution retains normal approval and sandbox controls. Interrupted actions are not automatically resumed or repeated. Windows stop scripts still use forced termination, so stop active work before a planned shutdown.