Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
0125bef
Enable backend auto-run control and mode switching for web (#6)
ChenglongWang Apr 3, 2026
460913a
Add project action audit logs and skill invocation tracking (#7)
ChenglongWang Apr 4, 2026
16c438f
Add deployment PR template.
ChenglongWang Apr 4, 2026
fe3aecb
Add compatibility contract validation workflow. (#21)
ChenglongWang Apr 4, 2026
6e0ff26
Standardize gateway health and version endpoints. (#22)
ChenglongWang Apr 4, 2026
86b6b9e
Add medpilot-agent service lifecycle CLI skeleton. (#23)
ChenglongWang Apr 4, 2026
cf5c285
Consolidate local-engine service, release, and self-hosted deployment…
ChenglongWang Apr 5, 2026
dd51104
Fix PyPi publish workflow.
ChenglongWang Apr 6, 2026
ead8ec8
Fix build config file.
ChenglongWang Apr 6, 2026
11cfac6
Window platform tests fix.
ChenglongWang Apr 6, 2026
814c6bb
Rename package to `medpilot` and derive versions from tags.
ChenglongWang Apr 6, 2026
f7c8a08
Update deploy package name.
ChenglongWang Apr 7, 2026
66bad3f
Add GPL licensing and CLA governance across deploy flow.
ChenglongWang Apr 7, 2026
a3be66b
Update versions.
ChenglongWang Apr 7, 2026
a3de6a6
Fix smoke test fail issue.
ChenglongWang Apr 7, 2026
038ac3b
Fix release-train token check to avoid workflow parse failures.
ChenglongWang Apr 7, 2026
b5983ae
Fix release-train CI config for writable model field.
ChenglongWang Apr 7, 2026
620baa0
Persist project display names in per-project metadata.
ChenglongWang Apr 7, 2026
83133be
Update versions.
ChenglongWang Apr 7, 2026
f64c6a8
Expand core-module tests to harden release quality.
ChenglongWang Apr 8, 2026
e5ec4a2
Expand core-module tests to harden release quality. (#34)
ChenglongWang Apr 8, 2026
33d5119
Add gateway data-path validation and sync UI submodule (#36)
ChenglongWang Apr 9, 2026
81f3746
Limit tests push triggers to stable branches.
ChenglongWang Apr 9, 2026
ea4be12
Harden task-plan guardrails and web project sync flow (#37)
ChenglongWang Apr 16, 2026
d041714
Sync with nanobot v0.15 features and local fixes (#39)
ldxFAIRYTAIL Apr 16, 2026
7434801
Persist UI workspace updates to active config file. (#38)
ChenglongWang Apr 19, 2026
6897130
Add references upload and policy-driven auto-run controls (#40)
ChenglongWang Apr 19, 2026
52ee02a
Enforce strict contract completion and runtime profile sync (#41)
ChenglongWang Apr 19, 2026
94e8a0a
fix: add missing prompt for apiBase in custom config (#43)
urnotChloe Apr 19, 2026
f2a8522
config: unify web bind host/port under gateway (#45)
ChenglongWang Apr 21, 2026
72db25d
update UI submodule for export contract and status sync (#46)
ChenglongWang Apr 21, 2026
d1968b2
Merge branch 'dev' into release
ChenglongWang Apr 22, 2026
633ea6d
fix: harden rc6 tests against environment differences
ChenglongWang Apr 22, 2026
8bb3a47
fix: stabilize rc6 Windows build test compatibility
ChenglongWang Apr 22, 2026
162e0de
Rename MedPilot to MIRA (mira-engine pkg, mira/mira-engine CLIs) (#47)
ChenglongWang Apr 22, 2026
39c87fe
Merge dev (MIRA rename) into release
ChenglongWang Apr 22, 2026
1959f54
Support bundled MIRA engine runtime config and release assets (#49)
ChenglongWang Apr 26, 2026
8228d98
Add the checked-in PyInstaller spec for release builds.
ChenglongWang Apr 26, 2026
001bb74
Merge branch 'dev' into release
ChenglongWang Apr 26, 2026
a7af330
Minor fixes. (#50)
ChenglongWang Apr 26, 2026
3b08fb7
Fix Windows bundled engine startup without SCM services. (#51)
ChenglongWang Apr 27, 2026
456548c
Merge branch 'dev' into release
ChenglongWang Apr 27, 2026
14a4ea4
Fix Windows bundled gateway subprocess extraction. (#52)
ChenglongWang Apr 27, 2026
52e89f6
Merge branch 'dev' into release
ChenglongWang Apr 27, 2026
e14ee7f
Bind web sessions to stable project directories. (#53)
ChenglongWang Apr 28, 2026
bae1396
Merge branch 'dev' into release
ChenglongWang Apr 28, 2026
ba74fff
Broadcast cumulative token usage on web progress and response message…
ChenglongWang Apr 29, 2026
436ead8
Tighten web auto-run re-plan and export guards. (#56)
ChenglongWang Apr 29, 2026
725c8dd
Split AgentLoop into BaseAgentLoop + ResearchAgentLoop and add `mira …
ChenglongWang Apr 30, 2026
9f2f5b8
Rename "web" channel to "ui" and silence engine logs in interactive C…
ChenglongWang Apr 30, 2026
a314452
Add background exec jobs and `bg` companion tool for long-running tas…
ChenglongWang Apr 30, 2026
b118f2f
Merge branch 'dev' into release
ChenglongWang May 1, 2026
6db6907
Stabilize research CLI help test across Typer versions.
ChenglongWang May 1, 2026
6ea5d40
Make research CLI help smoke test version-tolerant.
ChenglongWang May 1, 2026
fe2f7fd
Merge branch 'dev' into release
ChenglongWang May 1, 2026
72391c4
fix(exec): forward PATH and runtime env vars to subprocess (#59)
ChenglongWang May 2, 2026
985a54b
feat(config): add ExecToolConfig.python schema (default off) (#60)
ChenglongWang May 2, 2026
07250bd
feat(runtime): uv detector + project venv bootstrap helper (PR 3/9) (…
ChenglongWang May 2, 2026
9c903d7
feat(bundle): embed uv binary in PyInstaller release (#62)
ChenglongWang May 2, 2026
a0da7df
feat(exec): per-project venv auto-bootstrap on first python command (…
ChenglongWang May 2, 2026
c4ec6f7
feat(prompt): teach agent venv conventions when uv runtime is active …
ChenglongWang May 2, 2026
3c8e19d
feat(runtime): first-launch uv python install (#65)
ChenglongWang May 2, 2026
221cf51
feat(runtime): mira runtime cache-prune and project-gc (#66)
ChenglongWang May 2, 2026
8129ca8
feat(exec): opt-in pip install -> uv pip install rewrite (#67)
ChenglongWang May 2, 2026
b47127d
feat(research-loop): loosen auto-mode stop heuristics + strictHeurist…
ChenglongWang May 2, 2026
bd68579
feat(research-loop): replan exhausted queue, anti-confirmation prompt…
ChenglongWang May 2, 2026
e4c5178
Merge branch 'dev' into release
ChenglongWang May 2, 2026
b1bb9bc
fix(ci): unblock v0.3.0rc release matrix on macOS + Windows (#72)
ChenglongWang May 2, 2026
1852545
Merge branch 'dev' into release
ChenglongWang May 2, 2026
685e235
fix(ui): expose runtime provider metadata for all supported providers…
ChenglongWang May 3, 2026
47f7219
fix: support provider proxy and oauth paths (#74)
ChenglongWang May 6, 2026
4e4151e
fix: isolate UI project bindings by workspace (#76)
ChenglongWang May 6, 2026
6dfbfb7
chore: relocate compatibility tracking to mira-ui repo (#77)
ChenglongWang May 7, 2026
ff2637c
Preserve runtime routing models on UI config saves
ChenglongWang May 9, 2026
3ffe8ab
Merge branch 'dev' into release
ChenglongWang May 12, 2026
8c2a6ef
fix: stabilize OAuth XDG path expansion on Windows
ChenglongWang May 12, 2026
3aaabb6
Merge branch 'dev' into release
ChenglongWang May 12, 2026
b3921d2
fix: improve skill routing precision (#80)
ldxFAIRYTAIL May 15, 2026
d2054a6
Merge branch 'dev' into release
ChenglongWang May 15, 2026
c6a23e7
ci(release): checkout submodules so pytest and skills loading work
ChenglongWang May 15, 2026
63c95fb
ci(release): checkout submodules so pytest and skills loading work
ChenglongWang May 15, 2026
f580bea
chore(ci): consolidate workflows and fix outstanding ruff lint (#81)
ChenglongWang May 15, 2026
83a240a
refactor: remove redundant auto_activate_env (#82)
ldxFAIRYTAIL May 18, 2026
a92d4ae
fix: improve LLM error display in CLI with provider/model context (#83)
ldxFAIRYTAIL May 21, 2026
f354696
Improve bundled engine service lifecycle (#84)
ChenglongWang May 22, 2026
59dab52
Merge branch 'dev' into release
ChenglongWang May 22, 2026
db31465
Fix Windows release path tests
ChenglongWang May 22, 2026
9e13fae
Fix Windows release path tests
ChenglongWang May 22, 2026
e689a45
Fix engine lifecycle, guardrails, and UI liveness (#85)
ChenglongWang May 25, 2026
b491502
Merge branch 'dev' into release
ChenglongWang May 25, 2026
e22fde4
fix: route DeepSeek through native OpenAI-compatible provider (#86)
ChenglongWang May 26, 2026
47fc2ca
Merge branch 'dev' into release
ChenglongWang May 26, 2026
2b52050
Merge origin/main into release for v0.3.1 PR
ChenglongWang May 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
74 changes: 37 additions & 37 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
codecov:
require_ci_to_pass: true

coverage:
precision: 2
round: down
range: "40...90"

status:
project:
default:
target: auto
threshold: 2%
patch:
default:
target: 80%

comment:
layout: "reach, diff, flags, files"
behavior: default
require_changes: false

ignore:
- "medpilot/cli/**"
- "medpilot/channels/dingtalk.py"
- "medpilot/channels/discord.py"
- "medpilot/channels/email.py"
- "medpilot/channels/feishu.py"
- "medpilot/channels/matrix.py"
- "medpilot/channels/mochat.py"
- "medpilot/channels/qq.py"
- "medpilot/channels/slack.py"
- "medpilot/channels/telegram.py"
- "medpilot/channels/whatsapp.py"
- "medpilot/heartbeat/**"
- "medpilot/providers/transcription.py"
- "medpilot/providers/custom_provider.py"
codecov:
require_ci_to_pass: true
coverage:
precision: 2
round: down
range: "40...90"
status:
project:
default:
target: auto
threshold: 2%
patch:
default:
target: 0%
comment:
layout: "reach, diff, flags, files"
behavior: default
require_changes: false
ignore:
- "mira/cli/**"
- "mira/channels/dingtalk.py"
- "mira/channels/discord.py"
- "mira/channels/email.py"
- "mira/channels/feishu.py"
- "mira/channels/matrix.py"
- "mira/channels/mochat.py"
- "mira/channels/qq.py"
- "mira/channels/slack.py"
- "mira/channels/telegram.py"
- "mira/channels/whatsapp.py"
- "mira/heartbeat/**"
- "mira/providers/transcription.py"
- "mira/providers/custom_provider.py"
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Ensure shell scripts always use LF line endings (Docker/Linux compat)
*.sh text eol=lf
64 changes: 32 additions & 32 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
# Project Guidelines

## Code Style

- Target Python 3.11+ and match the existing style: typed functions, short docstrings, `Path` over string paths when working with files, and modern unions like `str | None`.
- Keep changes small and local. This repo favors direct, readable implementations over extra abstraction.
- Follow the Ruff configuration in `pyproject.toml`: line length 100, sorted imports, and no reformatting unrelated code.
- Keep CLI-facing output and logging consistent with the existing Typer and Rich patterns in `medpilot/cli/commands.py`.

## Architecture

- Treat `medpilot/cli/commands.py` as the public entrypoint. CLI behavior belongs there, not in lower-level modules.
- Keep orchestration logic in `medpilot/agent/loop.py`. New agent capabilities should usually be implemented as tools under `medpilot/agent/tools/` and registered through `AgentLoop._register_default_tools()`.
- Keep configuration definitions centralized in `medpilot/config/schema.py` and related config modules. Preserve both camelCase and snake_case compatibility when extending config models.
- Channels under `medpilot/channels/` are adapters around a shared message bus. Cross-channel coordination belongs in `medpilot/channels/manager.py`, not inside individual channels.
- Skills and templates under `medpilot/skills/` and `medpilot/templates/` are packaged assets, not incidental docs. Preserve their structure and update build includes if you add new packaged asset types.

## Build and Test

- Install for development with `pip install -e .`. If you need lint/test tools, prefer `pip install -e ".[dev]"`.
- Common manual checks:
- `ruff check .`
- `pytest`
- `python -m medpilot --help`
- `medpilot onboard`
- `pyproject.toml` configures `pytest` to look for `tests/`, but this workspace currently has no `tests/` directory. Do not claim tests passed unless you actually added tests or ran a targeted test path that exists.

## Conventions

- Runtime state is workspace-centric but usually lives outside the repo in `~/.medpilot`. `medpilot onboard` creates that workspace and syncs bundled templates into it.
- Empty `allow_from` lists are not permissive defaults. `medpilot/channels/manager.py` treats `allow_from = []` as a misconfiguration that denies all access.
- Provider and channel imports are intentionally lazy in several paths. Preserve that pattern when adding optional integrations so missing dependencies fail gracefully.
# Project Guidelines
## Code Style
- Target Python 3.11+ and match the existing style: typed functions, short docstrings, `Path` over string paths when working with files, and modern unions like `str | None`.
- Keep changes small and local. This repo favors direct, readable implementations over extra abstraction.
- Follow the Ruff configuration in `pyproject.toml`: line length 100, sorted imports, and no reformatting unrelated code.
- Keep CLI-facing output and logging consistent with the existing Typer and Rich patterns in `mira/cli/commands.py`.
## Architecture
- Treat `mira/cli/commands.py` as the public entrypoint. CLI behavior belongs there, not in lower-level modules.
- Keep orchestration logic in `mira/agent/loop.py`. New agent capabilities should usually be implemented as tools under `mira/agent/tools/` and registered through `AgentLoop._register_default_tools()`.
- Keep configuration definitions centralized in `mira/config/schema.py` and related config modules. Preserve both camelCase and snake_case compatibility when extending config models.
- Channels under `mira/channels/` are adapters around a shared message bus. Cross-channel coordination belongs in `mira/channels/manager.py`, not inside individual channels.
- Skills and templates under `mira/skills/` and `mira/templates/` are packaged assets, not incidental docs. Preserve their structure and update build includes if you add new packaged asset types.
## Build and Test
- Install for development with `pip install -e .`. If you need lint/test tools, prefer `pip install -e ".[dev]"`.
- Common manual checks:
- `ruff check .`
- `pytest`
- `python -m mira --help`
- `mira onboard`
- `pyproject.toml` configures `pytest` to look for `tests/`, but this workspace currently has no `tests/` directory. Do not claim tests passed unless you actually added tests or ran a targeted test path that exists.
## Conventions
- Runtime state is workspace-centric but usually lives outside the repo in `~/.mira`. `mira onboard` creates that workspace and syncs bundled templates into it.
- Empty `allow_from` lists are not permissive defaults. `mira/channels/manager.py` treats `allow_from = []` as a misconfiguration that denies all access.
- Provider and channel imports are intentionally lazy in several paths. Preserve that pattern when adding optional integrations so missing dependencies fail gracefully.
- When changing tool behavior, validate the impact on both the agent loop and subagent flow rather than patching a single call site.
35 changes: 35 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Related Issue

- Closes #<issue-id> (or Implements MIRA-Intelligence/mira#<issue-id> for cross-repo PRs)

## CLA Acknowledgement

- [ ] I have read `CLA.md` and agree to the Contributor License Agreement.
- [ ] I confirm I have the right to submit this contribution.

## What Changed

- [ ] Backend/API behavior
- [ ] CLI/service behavior
- [ ] Docs/runbook updates

## Test Evidence

### Commands

```bash
# Add exact commands run
```

### Key Output

```text
# Paste concise pass/fail evidence
```

## Rollback Notes (Required For Ops/Release Changes)

- Rollback steps:
- Data migration impact:
- Safe fallback version:

Loading
Loading