Skip to content

feat(fork-governance): carry the gitbot-fleet enrolment manifest and report-back producer - #263

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/gitbot-fleet-feedback-0vdo64
Oct 27, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
claude/gitbot-fleet-feedback-0vdo64

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Every repository instantiated from this template inherits a Hypatia verdict grid whose gitbot-fleet rows can only read 🟠 "enrolled, but no report-back was received", because nothing in the estate produced the envelopes the grid reads. The producer now exists in hyperpolymath/gitbot-fleet#626; this PR makes the template carry its adoption so new repositories start wired. Guide: standards 3-practice/fork-governance/ADOPTION.adoc §8 (in the companion standards change).

Changes

  • .gitbot-fleet/enrolment.json: template defaults enrol rhodibot, finishingbot and glambot (true of every estate repository); every other member is enrolled: false with a reason that says when to flip it. .gitbot-fleet/report-backs/README.md explains that the directory stays empty in git: envelopes are per-run evidence, never committed.
  • .github/workflows/fork-governance.yml: an inline fleet job (checkout hyperpolymath/gitbot-fleet at FLEET_REF, build only the enrolled adapters with rust-cache, run scripts/fleet-report-back.sh, upload the fleet-report-backs artifact). Inline rather than uses: because a repository made from this template may live under an owner whose Actions policy refuses a cross-owner reusable at plan time (zero jobs, no error line). The verdict job downloads the artifact and lists each member's status in the step summary, so the evidence is visible here before the repository adopts the standards Hypatia reusable that renders it into the grid. The fleet result is reported, not gated.
  • .github/workflows/actions.lock: entries for the new steps plus dependency records for dtolnay/rust-toolchain and swatinem/rust-cache; scripts/check-lock-sync.sh passes (transitively closed).

RSR Quality Checklist

Required

  • Tests pass (scripts/check-lock-sync.sh; the workflow itself first runs on this PR)
  • Code is formatted
  • Linter is clean
  • No banned language patterns
  • No unsafe blocks without // SAFETY: comments
  • No banned functions
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • Repo deed (status) / (maturity) updated — not changed; a (fleet :enrolment … :report-backs …) clause like metamanifold-webui's deed carries is left for a follow-up pending a check that the deed grammar admits it
  • docs/status/ROADMAP.adoc updated — not changed
  • Documentation updated for user-facing changes (.gitbot-fleet/report-backs/README.md, workflow header)
  • TOPOLOGY.md — unchanged
  • CHANGELOG — regenerated from commits
  • New dependencies reviewed for license compatibility (dtolnay/rust-toolchain MIT, Swatinem/rust-cache MIT; both already used in the estate)

Depends on gitbot-fleet#626 for FLEET_REF to exist on a branch; bump the pin to the merge commit once it lands.


Generated by Claude Code

…report-back producer

Every repository instantiated from this template inherits a Hypatia verdict
grid whose fleet rows can only read "enrolled, but no report-back was
received", because nothing produced the envelopes. The producer now exists
(hyperpolymath/gitbot-fleet#626); the template carries its adoption so new
repositories start wired.

* .gitbot-fleet/enrolment.json: template defaults enrol rhodibot,
  finishingbot and glambot (true of every estate repository) and mark the
  rest `enrolled: false` with a reason saying when to flip them.
  .gitbot-fleet/report-backs/ holds only a README: envelopes are per-run
  evidence and are never committed.
* fork-governance.yml: an inline `fleet` job (check out gitbot-fleet at
  FLEET_REF, build only the enrolled adapters, run the driver, upload the
  `fleet-report-backs` artifact). Inline rather than `uses:` because a
  repository made from this template may live under an owner whose Actions
  policy refuses a cross-owner reusable at plan time. The verdict job
  downloads the artifact and lists each member's status in the step summary,
  so the evidence is visible here even before the repository adopts the
  standards Hypatia reusable that renders it into the grid.
* actions.lock: entries and dependency records for the new steps;
  scripts/check-lock-sync.sh passes.

The fleet job's result is reported, not gated: the verdict fails only on
DEED or K9, as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjqj5DHRRCrDiGeTmq
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…che; repin gitbot-fleet

Drops dtolnay/rust-toolchain and swatinem/rust-cache (and their lockfile
records) from the fleet job: the runner image carries stable Rust and the
cache is actions/cache keyed on the fleet commit's lockfiles, so the job
uses only GitHub-owned, SHA-pinned actions. FLEET_REF moves to 4c9ea43d,
which fixes an ARG_MAX failure in the driver on large finding lists.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjqj5DHRRCrDiGeTmq
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review October 27, 2026 05:15
@hyperpolymath
hyperpolymath merged commit e7877fc into main Oct 27, 2026
47 of 49 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T05:19:55.891759Z f041159 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@hyperpolymath
hyperpolymath deleted the claude/gitbot-fleet-feedback-0vdo64 branch October 27, 2026 05:15
hyperpolymath pushed a commit that referenced this pull request Oct 27, 2026
…rectory

estate-rules' repo_map_determinism_test fails when the committed map lags the
tree; .gitbot-fleet/ (added in #263) was not yet in it. Regenerated with
scripts/gen-repo-map.sh, as 'just repo-map' does.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDjqj5DHRRCrDiGeTmq

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f041159088

ℹ️ 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".

@@ -0,0 +1,14 @@
{

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Register the new root directory in the shape metadata

Adding .gitbot-fleet/ without registering it in .machine_readable/root-allow.txt makes every pull request fail the Estate Rules workflow: running bash scripts/check-root-shape.sh . on this commit reports this directory as an unallowlisted root entry. After adding the allowlist entry, the subsequent repository-map freshness check in .github/workflows/estate-rules.yml also detects that docs/architecture/REPOSITORY-MAP.adoc lacks the new directory, so add the justified allowlist entry and regenerate the map.

Useful? React with 👍 / 👎.

hyperpolymath added a commit that referenced this pull request Oct 27, 2026
…the enrolment manifest (#264)

## Summary

Follow-up to
[#263](#263),
which merged before its first CI run finished. Two checks were failing
on it and are now red on `main`:

- **estate-rules**: `scripts/check-root-shape.sh` rejects
`.gitbot-fleet/` because it was not on
`.machine_readable/root-allow.txt`.
- **Proven 3-outcome test & bench suite**: the `root_shape` and
`ijson_jcs` bench workloads report "checksum is false" for the same two
facts (the new root entry, and an enrolment manifest that was
pretty-printed rather than I-JSON/JCS).

## Changes

- `.machine_readable/root-allow.txt`: `.gitbot-fleet/` is a required
root entry, with the reason (manifest + report-backs directory the
Hypatia verdict grid reads at this path and no other).
- `.gitbot-fleet/enrolment.json`: key-sorted compact JSON with one final
LF, per `3-practice/JSON-POLICY.adoc`.

## RSR Quality Checklist

### Required

- [x] Tests pass: `scripts/check-root-shape.sh .` (45 entries),
`scripts/check-ijson-jcs.sh --enforce .` (13/13 canonical),
`scripts/check-lock-sync.sh`
- [x] Code is formatted
- [x] Linter is clean
- [x] No banned language patterns
- [x] No `unsafe` blocks without `// SAFETY:` comments
- [x] No banned functions
- [x] SPDX license headers present on all new/modified source files (no
source files changed)
- [x] No secrets, credentials, or `.env` files included

### As Applicable

- [ ] Repo deed updated — not needed
- [ ] `docs/status/ROADMAP.adoc` — not changed
- [ ] Documentation — not changed
- [ ] `CHANGELOG` — regenerated from commits

---
_Generated by [Claude
Code](https://claude.ai/code/session_01J4QvDjqj5DHRRCrDiGeTmq)_

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

<!-- coderabbit-ai-generated:v1 -->

## Summary by CodeRabbit

* **Documentation**
* Updated the repository map to identify the fleet enrolment manifest
and describe its role in supporting per-run report-backs and the verdict
grid.
* The manifest’s enrolment statuses, titles, and reasons are unchanged;
its entries were reordered without changing their meaning.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants