microduck-cli 0.9.0__tar.gz → 0.9.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.devague/deliveries/microduck-cli-env-teach-operate-rules.json +55 -1
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/CHANGELOG.md +11 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/PKG-INFO +1 -1
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/pyproject.toml +1 -1
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/uv.lock +1 -1
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/agent-config/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/agent-config/data/backend-fingerprints.yaml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/agent-config/scripts/show.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/prompts/explore.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/prompts/review.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/prompts/write.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/scripts/ask-colleague.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/assign-to-workforce/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/assign-to-workforce/scripts/assign-to-workforce.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/challenge/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/templates/skill-new-brief.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/deviate/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/doc-test-alignment/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/doc-test-alignment/scripts/check.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/operate-microduck/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/pypi-maintainer/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/pypi-maintainer/scripts/switch-source.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/recall/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/recall/scripts/recall.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/remember/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/remember/scripts/remember.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/run-tests/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/scope/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/sonarclaude/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/sonarclaude/scripts/sonar.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/spec-to-plan/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/summarize-delivery/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/think/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/think/scripts/think.sh +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/validate-delivery/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/version-bump/SKILL.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/version-bump/scripts/bump.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills.local.yaml.example +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.devague/current +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.devague/current_plan +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.devague/frames/microduck-cli-env-teach-operate-rules.json +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.devague/plans/microduck-cli-env-teach-operate-rules.json +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.flake8 +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.github/workflows/publish.yml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.github/workflows/tests.yml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.gitignore +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/.markdownlint-cli2.yaml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/AGENTS.colleague.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/CLAUDE.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/LICENSE +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/README.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/culture.yaml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/deliveries/2026-09-03-microduck-cli-env-teach-operate-rules.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/operating-the-duck.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/plans/2026-09-03-microduck-cli-env-teach-operate-rules.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/skill-sources.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/specs/2026-09-03-microduck-cli-env-teach-operate-rules.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/upstream-pins.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/docs/verification/2026-09-04-sim-bringup.md +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/__main__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/compose.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/default_rules.toml +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/defaults.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/engine.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/human_gate.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/idle.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/intents.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/liveness.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/model.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/release.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/replay.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/rule_engine.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/rules.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/sense.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/senselog.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/sink.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/behavior/skills.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/cli.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/doctor.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/duck.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/env.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/explain.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/learn.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/overview.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/policy.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/rules.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_commands/whoami.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_errors.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/cli/_output.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/duck/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/duck/addressing.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/duck/gate.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/duck/record.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/env/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/env/doctor.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/env/hosts.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/env/params.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/env/stack.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/catalog.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/duck.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/env.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/policy.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/explain/rules.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/ipc/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/ipc/client.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/ipc/proto.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/train/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/train/artifacts.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/microduck_cli/train/lane.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/sonar-project.properties +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/fake_robotd.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/fixtures/duck_ipc_proto.json +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/live/__init__.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/live/test_live_cli.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_addressing.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_cli.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_cli_introspection.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_client.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_default_rules.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_duck.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_engine.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_env.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_env_doctor.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_fake_robotd.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_gate.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_hosts.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_human_gate.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_idle.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_intents.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_lane.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_learn_skill.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_links.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_liveness.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_lockstep.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_model.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_no_config_writes.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_no_hardware_paths.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_no_secrets_in_output.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_params.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_policy.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_proto.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_record.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_release.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_replay.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_rule_engine.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_rules.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_rules_cli.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_sense.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_senselog.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_sink.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_skills.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_stack.py +0 -0
- {microduck_cli-0.9.0 → microduck_cli-0.9.1}/tests/test_zero_deps.py +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"plan_slug": "microduck-cli-env-teach-operate-rules",
|
|
3
3
|
"schema_version": 2,
|
|
4
4
|
"created": "2026-09-03T19:58:22Z",
|
|
5
|
-
"updated": "2026-09-
|
|
5
|
+
"updated": "2026-09-03T23:34:51Z",
|
|
6
6
|
"deviations": [
|
|
7
7
|
{
|
|
8
8
|
"id": "d1",
|
|
@@ -614,6 +614,60 @@
|
|
|
614
614
|
"origin": "llm",
|
|
615
615
|
"status": "proposed",
|
|
616
616
|
"superseded": false
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"id": "b10",
|
|
620
|
+
"kind": "amended",
|
|
621
|
+
"behavior_text": "Review wave (PR #3): 'rules engine start' and 'rules intent' (spooling into a live engine) go through the same consent gate as every mover (TTY prompt / dry-run on a pipe / --apply); 'engine start' claims <state>/engine.lock, waits for the child's heartbeat, and logs the child to <state>/engine.log",
|
|
622
|
+
"caused_by": [
|
|
623
|
+
"c7",
|
|
624
|
+
"c24",
|
|
625
|
+
"c32"
|
|
626
|
+
],
|
|
627
|
+
"evidence_refs": [],
|
|
628
|
+
"origin": "llm",
|
|
629
|
+
"status": "proposed",
|
|
630
|
+
"superseded": false
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"id": "b11",
|
|
634
|
+
"kind": "amended",
|
|
635
|
+
"behavior_text": "Review wave (PR #3): 'duck record' opens its own links for pad.input and tof.stream (DUCK_PAD_SOCKET / <name>-tof.sock) and writes frames in reader arrival order from a bounded notification queue; absent sources are named drops",
|
|
636
|
+
"caused_by": [
|
|
637
|
+
"c41"
|
|
638
|
+
],
|
|
639
|
+
"evidence_refs": [],
|
|
640
|
+
"origin": "llm",
|
|
641
|
+
"status": "proposed",
|
|
642
|
+
"superseded": false
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"id": "b12",
|
|
646
|
+
"kind": "amended",
|
|
647
|
+
"behavior_text": "Review wave (PR #3): the smoke gate compares the recorded RL commit with the checkout's HEAD; 'env up' tears down what it started on a failed start; rules refuse non-finite numbers; sense booleans are strict; a mode rule reaches robot.setMode; repeated skills are re-sent after the owner expires",
|
|
648
|
+
"caused_by": [
|
|
649
|
+
"c8",
|
|
650
|
+
"c22",
|
|
651
|
+
"c12",
|
|
652
|
+
"c23"
|
|
653
|
+
],
|
|
654
|
+
"evidence_refs": [],
|
|
655
|
+
"origin": "llm",
|
|
656
|
+
"status": "proposed",
|
|
657
|
+
"superseded": false
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"id": "b13",
|
|
661
|
+
"kind": "amended",
|
|
662
|
+
"behavior_text": "Review wave (PR #3, SonarCloud): 'duck quack' in text mode crashed on a mis-called emit_result after the sound had gone out (exit 1 for a quack that happened) \u2014 fixed with a regression test; SignalExit now derives from Exception and is re-raised through TickBus isolation so a SIGTERM inside a driver still unwinds the loop",
|
|
663
|
+
"caused_by": [
|
|
664
|
+
"c6",
|
|
665
|
+
"c35"
|
|
666
|
+
],
|
|
667
|
+
"evidence_refs": [],
|
|
668
|
+
"origin": "llm",
|
|
669
|
+
"status": "proposed",
|
|
670
|
+
"superseded": false
|
|
617
671
|
}
|
|
618
672
|
],
|
|
619
673
|
"supersessions": [
|
|
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
Format follows [Keep a Changelog](https://keepachangelog.com/). This project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.9.1] - 2026-09-04
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Recorded the PR #3 review wave in the devague delivery ledger
|
|
13
|
+
(`.devague/deliveries/microduck-cli-env-teach-operate-rules.json`): four
|
|
14
|
+
amended behavioral deltas (`b10`–`b13`) covering the gated `rules engine
|
|
15
|
+
start` / `rules intent` path, `duck record`'s own pad and ToF links, the
|
|
16
|
+
smoke-gate commit check and its siblings, and the SonarCloud round (the
|
|
17
|
+
text-mode `duck quack` crash, `SignalExit` unwinding through `TickBus`).
|
|
18
|
+
|
|
8
19
|
## [0.9.0] - 2026-09-04
|
|
9
20
|
|
|
10
21
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: microduck-cli
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.1
|
|
4
4
|
Summary: Agent-agnostic CLI for controlling the MicroDuck robot. Any agent, any human, one CLI. Built on the neurosymbolic-system runtime and following the reachy-mini-cli architecture.
|
|
5
5
|
Project-URL: Homepage, https://github.com/agentculture/microduck-cli
|
|
6
6
|
Project-URL: Issues, https://github.com/agentculture/microduck-cli/issues
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "microduck-cli"
|
|
3
|
-
version = "0.9.
|
|
3
|
+
version = "0.9.1"
|
|
4
4
|
description = "Agent-agnostic CLI for controlling the MicroDuck robot. Any agent, any human, one CLI. Built on the neurosymbolic-system runtime and following the reachy-mini-cli architecture."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/ask-colleague/scripts/ask-colleague.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/fetch-issues.sh
RENAMED
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/mesh-message.sh
RENAMED
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/post-comment.sh
RENAMED
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/communicate/scripts/post-issue.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/doc-test-alignment/scripts/check.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/pypi-maintainer/scripts/switch-source.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{microduck_cli-0.9.0 → microduck_cli-0.9.1}/.claude/skills/spec-to-plan/scripts/spec-to-plan.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|