Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

发布候选:Rhizome 0.1.4 wrapper gate 修复 - #8

Merged
Eridanus117 merged 33 commits into
feature-portfrom
workspace-v2-sync
Sep 4, 2026
Merged

Eridanus117 merged 33 commits into
feature-portfrom
workspace-v2-sync

Conversation

@Eridanus117

Copy link
Copy Markdown
Owner

变更

  • 将本地已验证的 wrapper gate 检测修复合入私人维护分支。
  • doctor 现在能识别 Python / TypeScript wrapper 中实际调用的 rhizome check。
  • 版本统一为 0.1.4,同步更新 uv.lock。

验证

  • 286 passed。
  • macOS arm64 临时发行包构建成功,内置 --help smoke 通过。

边界

  • 本 PR 位于私人仓 Eridanus117/rhizome。
  • 不修改公开 the-orrery/rhizome。
  • 不包含主机运行时、凭据或其他仓库内容。
  • 不创建 release/tag;待 Linux CI 通过后再决定。

Eridanus117 and others added 30 commits June 15, 2026 13:52
…ackage kb->rhizome (#1)

* feat: port amend/doctor + env-configurable asset-prefix/code-root (onto src/kb)

Bring the public canonical rhizome (src/kb) up to the internal feature
level — WITHOUT the kb→rhizome package-dir rename (master deliberately
keeps the `kb` package; dist name stays `rhizome`).

Ported features (mapped into src/kb, imports stay `from kb`/`from .`):
- amend.py: audited in-place edit of ONE frozen doc (RHIZOME_AMEND_APPROVED
  one-path approval channel; commit trailer + append-only ledger).
- doctor.py: KB pipeline-integrity checks — --sources (fleet gate/index scan,
  fail-closed) and --self (gate template ⇔ probe self-consistency).
- check.py: frozen-amend approval bypass wired into the frozen gate
  (_AMEND_APPROVED_ENV, _amend_approved_for, resolved-path match).
- adopt.py: shared _GATE_COMMAND constant + fail-closed PATH probe
  (gate-not-on-PATH now raises instead of warn-and-continue).
- cli.py: doctor/amend subcommands + reporters + dispatch.

Config (additive env extension, public defaults stay neutral):
- contract.ASSET_PREFIXES → known_asset_prefixes() = defaults ∪
  $RHIZOME_ASSET_PREFIXES (csv, lowercased); check.py uses the helper.
- links._EXTRA_CODE_ROOT_NAMES → _extra_code_root_names() = defaults ∪
  $RHIZOME_CODE_ROOTS (csv, order-preserving dedupe).

No internal literals enter the repo: config tests use neutral placeholders
(alpha/beta/gamma) and exercise env injection only. No de-fork/rename churn,
no internal-trace re-introduction (.weave / qwen3 collection name left clean).

Tests: 220 passed, 2 skipped (Mermaid env-dependent). ruff clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* refactor: rename package kb -> rhizome (unify dist/package/command/import)

git mv src/kb -> src/rhizome; pyproject scripts entry kb.cli:main ->
rhizome.cli:main and wheel package src/kb -> src/rhizome; absolute
in-package imports (check.py lazy links, links.py) switched to relative;
all test imports and -m kb.cli -> rhizome.cli; command-name prose in
adopt/cli/__init__ kb -> rhizome. Intentional legacy kb tolerance kept:
_LEGACY_GATE_NAMES=('kb',), 'kb check' gate-file probe, kb-sources.toml
registry filename, KB_* env vars, tools/kb sidecar path, and rename-bug
test fixtures. doctor --self stays green (template <-> probe <-> PATH all
'rhizome'), closing the 127-drift hazard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: seed-ify rhizome (add CI/dependabot/pre-commit/.python-version + poe tasks)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* chore: adopt ruff @v6 + extend-ignore form

- CI: python-ci.yml @v5 → @v6; pass ruff-extend-ignore / ruff-extend-per-file-ignores
- pyproject: drop [tool.ruff] select/ignore/line-length (now canonical in CI ruff.toml);
  keep only repo-local extend-ignore=["TRY003"] + extend-per-file-ignores tests/**=["ARG"]

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(lint): drop PLR0913 from noqa — now covered by canonical per-file-ignore

canonical ruff.toml already suppresses PLR0913 for **/cli.py; keeping it
in the noqa directive triggers RUF100 (unused noqa) on ruff @v6.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: seed CI <ci@seed.local>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The kb->rhizome de-fork dropped `domains --compact`, the `<repo>` drill,
and `surface`-field awareness from the public CLI, but kb-sources.toml
still tags each source `surface = core|vertical` and the session-start KB
surface hook still calls `rhizome domains --compact` — so the hook rendered
an empty domain map (the unknown-flag error was swallowed by 2>/dev/null).

- sources: parse + carry the `surface` tag (new load_source_entries;
  build_tree includes it); validate it; load_sources kept as the
  (name, path) view for the indexer / diff / recall callers.
- cli: `domains --compact` (core inline, vertical collapsed to a name list)
  and `domains <repo>` single-repo drill.
- tests cover surface passthrough, compact rendering, and the drill.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The launcher and session shell export KB_SOURCES / KB_WORKSPACE_ROOT, which
the code reads as overrides and which hijack the temp registries the tests
build (sources/tree/diff tests resolved repos under the host workspace and
failed). An autouse fixture strips them so the suite is hermetic.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
)

Bumps [the-orrery/.github/.github/workflows/python-ci.yml](https://github.com/the-orrery/.github) from 6 to 7.
- [Commits](the-orrery/.github@v6...v7)

---
updated-dependencies:
- dependency-name: the-orrery/.github/.github/workflows/python-ci.yml
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.0...9.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bump poethepoet from 0.46.0 to 0.47.0.
Bump pytest from 9.1.0 to 9.1.1.
Code delta since public prep:
- kb-sources.local.toml overlay for machine-local path overrides
- domain-capacity advisory in doctor --sources
- slug length hint in rhizome new
- capture inbox verb
- relocate cross-repo note migration (frozen-aware)
- body-file support and did-you-mean domain hints in rhizome new
- gnomon telemetry integration
- user config for Mermaid validator
- legacy KB source support
- pre-commit release-gate scan hook

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Sourcery and/or Cubic review bot configuration to enable
automated code review on pull requests.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The org-level .coderabbit.yaml in the-orrery/.github now serves as
the default config for all repos.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds lightweight 6h-throttled update check at CLI startup.
Prints a one-line stderr hint when a newer version is on GitHub main.
Silent in CI, non-TTY, or on network failure.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(ci): remove Gitleaks (requires paid license), filter git deps in audit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: move orrery_heartbeat import out of class body + sort (ruff I001)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: ruff isort auto-fix

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: allow hatchling direct references for git deps

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore(ci): migrate to org reusable workflow @v8

Replace inline CI with reusable workflow call.
Passes TRY003 extend-ignore and tests/**/ARG per-file-ignore
to match existing local ruff config.

Part of ERI-874.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ci: retrigger after v8 tag

* fix(ci): pin reusable workflow to SHA (zizmor compliance)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: align code with canonical ruff rules + suppress complexity rules

Auto-fix: import sorting, unused noqa directives, minor style fixes.
Suppress via CI overrides: C901/PLR complexity rules, RUF001 fullwidth
chars (legitimate in Chinese comments), SIM117 — to be addressed in
follow-up PRs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: ruff format

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…udit (#9)

- Add Gitleaks job (go run gitleaks/v8@v8.30.0)
- Standardize pip-audit: uv export + filter git deps approach
- Align with org canonical security workflow

Part of ERI-874.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Part of ERI-874.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add noqa for structural complexity (C901/PLR/SIM) — refactoring deferred.
CI extend-ignore reduced to TRY003 + RUF001 (Chinese fullwidth chars).

Part of ERI-874.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v9 bumps pyrefly default to 1.1.1.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* OPS-5: package rhizome release binary

* OPS-6: harden rhizome binary releases

* fix: make release CI portable

* fix: satisfy shared CI lint gate
@Eridanus117
Eridanus117 merged commit c42404f into feature-port Sep 4, 2026
4 of 11 checks passed
@Eridanus117
Eridanus117 deleted the workspace-v2-sync branch September 8, 2026 05:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant