Skip to content

fix(governance): register active proposal directories - #290

Merged
timerloggedout-spec merged 2 commits into
master-stagingfrom
fix/proposal-registry-orphans
Aug 21, 2026
Merged

timerloggedout-spec merged 2 commits into
master-stagingfrom
fix/proposal-registry-orphans

Conversation

@timerloggedout-spec

Copy link
Copy Markdown
Owner

Summary\n\nRegisters the three existing active proposal directories that registry validation identified as orphans:\n\n- actions-refinements\n- icm-architect-integration\n- kimi-cloud-offload\n\nEach entry copies the existing manifest metadata into docs/proposals/registry.yaml. No proposal content, state, ownership, review record, or governance rule changes.\n\nFixes #289\n\n## Validation\n\n- python3 scripts/proposals/validate_registry.py — passed: 11 proposals consistent with disk.\n- Active-directory reconciliation — passed: no orphan directories remain.\n- git diff --cached --check — passed.\n- python3 scripts/ci/termux_smoke.py — passed.\n\nrepo_gate.py remains blocked on this branch by the separate, unmerged baseline syntax repair in PR #288 (archwiz/linear_sync.py:237). PR #288 itself passes the repository gate after staging its one-file repair; this PR does not modify that source file.\n\n## Scope boundary\n\nThis is a registry-only governance metadata change. It is intentionally not eligible for autonomous-merge, because proposal/governance paths are excluded by the safety policy.\n\nRelated: #274, #287, #288, and #286.\n\n

Agent-Identity: Manus

Task-Ref: REG-01
Signed-off-by: Manus <manus@manus.im>
@blocksorg

blocksorg Bot commented Aug 21, 2026

Copy link
Copy Markdown

Mention Blocks like a regular teammate with your question or request:

@blocks review this pull request
@blocks make the following changes ...
@blocks create an issue from what was mentioned in the following comment ...
@blocks explain the following code ...
@blocks are there any security or performance concerns?

Run @blocks /help for more information.

Workspace settings | Disable this message

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Aug 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
termux-monorepo Ready Ready Preview, v0 Aug 21, 2026 8:57pm

@coderabbitai

coderabbitai Bot commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 08072af7-7d5d-41e3-b4e7-007389060399


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.

@github-actions

Copy link
Copy Markdown
Contributor

Proposal process checklist

  • registry.yaml updated if new/changed proposal
  • active//MANIFEST.md + ITEMS.md present
  • Binding decisions logged in Review log (not only chat)
  • Votes use VOTE: accept|reject|abstain + term: (see docs/CONSENSUS.md)
  • Promotion via scripts/proposals/promote_proposal.py when status changes
  • Full large sources may stay on a docs/* branch with a pointer on master

Refs: PROCESS · CONSENSUS · registry.yaml

@github-actions

Copy link
Copy Markdown
Contributor

context_key: pr-290-fixproposal-registry-orphans
source_id: 5373970334
source_revision: 5373970334:2026-08-21T18:51:47Z
@jules Auto-resolve (heyVern lane / GHA agent-review-auto-jules) — do not wait for a human ping.
New work-context pr-290-fixproposal-registry-orphans — create session if none exists, then prefer continue thereafter.
Bot feedback from qodo-code-review[bot] on PR #290 (branch fix/proposal-registry-orphans).

Feedback excerpt


<h3>Qodo is busy working</h3>

Check back in a few minutes. Qodo's code review agents are on it.



<img src="https://www.qodo.ai/wp-content/uploads/2025/11/light-grey-line.svg" height="10%" alt="Grey Divider">




<img src="https://www.qodo.ai/wp-content/uploads/2026/01/anteater-looking-at-ants-01-transparent-bg-croped-ezgif.com-optimize-1.gif" width="30%">

Instructions

  1. Address open review disposition / threads (CodeRabbit, Devin, Copilot). Ignore pure analysis-chain dumps.
  2. Prefer minimal diffs; preserve Sentinel 0o600/0o700 if those files are touched.
  3. Push commits to branch fix/proposal-registry-orphans. Do not retarget away from the PR base without cause.
  4. If conflicts with base exist, resolve them.
  5. Skip pure nits only if they conflict with security/gates; otherwise apply autofixes.
  6. Non-empty diff required — empty commits are rejected.
    Monikers: docs/ops/AGENT-MONIKERS.md
    Agent: Grok (archW1z) orchestration · Profile: https://x.com/grok
    Signed-off-by: Grok (OPERATOR) session-auto-jules / context_key=pr-290-fixproposal-registry-orphans

@timerloggedout-spec

timerloggedout-spec commented Aug 21, 2026 •

Copy link
Copy Markdown
Owner Author

cycle_id: pr-290-f144be300253
head_sha: f144be3
cycle_started_at: 2026-08-21T18:51:47.000Z
state: provider_cooldown
ready: false
required_providers: coderabbit
enforce_provider_completion: false

Agent peer response gate

Provider state:

Pending:
coderabbit:provider_cooldown

Authorized interactive controls:

  • none observed

A provider-owned checkbox/button requires an authorized Operator Action Executor.
Do not copy control markup into a relay comment. After a permitted UI action, post:

<!-- operator-action-ack:v1 -->
cycle_id: pr-290-f144be300253
provider: <provider>
control_id: <provider-control-id>
action: <allowed-action>

The second-pass reviewer remains blocked until matching provider completion evidence is ingested for this SHA.
A checked [x] control means the provider UI action occurred; it is not a completed review.
A provider cooldown is also non-completing: wait for the stated retry window, then retrigger through the authorized provider path.
Pending provider evidence is advisory unless PEER_ENFORCE_PROVIDER_COMPLETION is deliberately set to true for branch protection.

@timerloggedout-spec

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

cycle_id: pr-290-f144be300253
head_sha: f144be3
provider: coderabbit
action: trigger_review
request_actor: OPERATOR

Autonomous OPERATOR-token request for a current-SHA provider review. A command request is not review completion; await provider evidence.

@coderabbitai

coderabbitai Bot commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

@timerloggedout-spec I will perform a full review of pull request #290 for the specified head SHA.

⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 8 minutes.

@gitar-bot

gitar-bot Bot commented Aug 21, 2026 •

Copy link
Copy Markdown

Gitar is working

Gitar

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Register orphan active proposals in the governance registry

🐞 Bug fix ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Register three existing active proposal directories in docs/proposals/registry.yaml.
• Refresh registry updated_at/updated_by metadata after reconciliation.
• Eliminate “orphan directory” validation failures by aligning registry with on-disk state.
Diagram

graph TD
  CI["CI: registry validation"] --> V["scripts/proposals/validate_registry.py"] --> R["docs/proposals/registry.yaml"]; V --> D1["active/actions-refinements/"]; V --> D2["active/icm-architect-integration/"]; V --> D3["active/kimi-cloud-offload/"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Auto-generate registry from on-disk manifests
  • ➕ Eliminates manual drift between registry.yaml and proposal directories
  • ➕ Makes reconciliation deterministic and easier to review
  • ➕ Reduces future “orphan directory” incidents
  • ➖ Requires defining a canonical on-disk schema and generator rules
  • ➖ May reduce flexibility for metadata that is registry-only (if any)
  • ➖ Adds tooling and CI surface area to maintain
2. Introduce a dedicated “reconcile” command that writes missing entries
  • ➕ Keeps the registry as source of truth but automates common fixes
  • ➕ Can enforce consistent formatting/ordering and required fields
  • ➖ Still requires deciding which on-disk fields are authoritative
  • ➖ Adds another workflow/tool that contributors must learn

Recommendation: The PR’s approach (explicitly registering the three existing active directories) is the correct minimal-risk fix because it changes only governance metadata and restores validator consistency. Longer-term, consider adding a generator/reconcile tool to prevent future registry/disk drift, but that’s appropriately out of scope for this targeted repair.

Files changed (1) +57 / -2

Bug fix (1) +57 / -2
registry.yamlAdd missing registry entries for three active proposal directories +57/-2

Add missing registry entries for three active proposal directories

• Updates registry metadata ('updated_at'/'updated_by') and registers three pre-existing active proposal directories: 'actions-refinements', 'icm-architect-integration', and 'kimi-cloud-offload'. This aligns the registry with on-disk proposal state to eliminate orphan-directory validation failures.

docs/proposals/registry.yaml

@github-actions

Copy link
Copy Markdown
Contributor

context_key: pr-290-fixproposal-registry-orphans
source_id: 5373978000
source_revision: 5373978000:2026-08-21T18:52:36Z
@jules Auto-resolve (heyVern lane / GHA agent-review-auto-jules) — do not wait for a human ping.
New work-context pr-290-fixproposal-registry-orphans — create session if none exists, then prefer continue thereafter.
Bot feedback from qodo-code-review[bot] on PR #290 (branch fix/proposal-registry-orphans).

Feedback excerpt

<h3>PR Summary by Qodo</h3>

Register orphan active proposals in the governance registry

<code>🐞 Bug fix</code> <code>⚙️ Configuration changes</code> <code>🕐 10-20 Minutes</code>

<img src="https://www.qodo.ai/wp-content/uploads/2025/11/light-grey-line.svg" height="10%" alt="Grey Divider">

<details>
<summary>AI Description</summary>

<dl>
<dd>
<br/>

><pre>
>• Register three existing active proposal directories in <b><i>docs/proposals/registry.yaml</i></b>.
>• Refresh registry <b><i>updated_at</i></b>/<b><i>updated_by</i></b> metadata after reconciliation.
>• Eliminate “orphan directory” validation failures by aligning registry with on-disk state.
></pre>

</dd>
</dl>

</details>

<details>
<summary>Diagram</summary>

<dl>
<dd>

<br/>

```mermaid
graph TD
  CI["CI: registry validation"] --> V["scripts/proposals/validate_registry.py"] --> R["docs/proposals/registry.yaml"]; V --> D1["active/actions-refinements/"]; V --> D2["active/icm-architect-integration/"]; V --> D3["active/kimi-cloud-offload/"]
High-Level Assessment

The following are alternative approaches to this PR:

1. A ``` ### Instructions 1. Address **open review disposition / threads** (CodeRabbit, Devin, Copilot). Ignore pure analysis-chain dumps. 2. Prefer minimal diffs; preserve Sentinel 0o600/0o700 if those files are touched. 3. Push commits to branch `fix/proposal-registry-orphans`. Do not retarget away from the PR base without cause. 4. If conflicts with base exist, resolve them. 5. Skip pure nits only if they conflict with security/gates; otherwise apply autofixes. 6. **Non-empty diff required** — empty commits are rejected. Monikers: docs/ops/AGENT-MONIKERS.md Agent: Grok (archW1z) orchestration · Profile: https://x.com/grok Signed-off-by: Grok (OPERATOR) session-auto-jules / context_key=pr-290-fixproposal-registry-orphans

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Registry summary truncates entries 🐞 Bug ◔ Observability
Description
The proposal-lifecycle workflow only prints the first 120 lines of docs/proposals/registry.yaml,
and the newly-registered proposals start after that cutoff, so they will not appear in the CI job
summary. This makes reviewers/operators miss the newly-added registrations in the workflow output
even when validation passes.
Code

docs/proposals/registry.yaml[R133-136]

+  - id: actions-refinements
+    title: "Issue #192 action-integration refinements"
+    author: Manus AI
+    posted_at: 2026-08-19
Relevance

●●● Strong

Recent reviews accept completeness fixes that prevent workflow inventory omissions.

PR-#283

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The workflow summary command is hard-capped to the first 120 lines, while the new proposal entries
begin at line 133, so they are guaranteed to be omitted from the job summary output.

.github/workflows/proposal-lifecycle.yml[30-35]
docs/proposals/registry.yaml[133-150]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The `proposal-lifecycle` workflow summarizes only the first 120 lines of `docs/proposals/registry.yaml`, which now excludes newly-added proposal entries (they start after line 120). This reduces observability during PR review and triage.

### Issue Context
The workflow currently uses `sed -n '1,120p'` to build the step summary.

### Fix Focus Areas
- .github/workflows/proposal-lifecycle.yml[30-35]
- docs/proposals/registry.yaml[133-186]

### Suggested change
Replace the `sed -n '1,120p'` line with one of:
- `cat docs/proposals/registry.yaml >> "$GITHUB_STEP_SUMMARY"`
- or increase the range (e.g., `sed -n '1,260p' ...`) if you want a hard cap.

Keep the existing fenced code block markers.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 16 rules
Review mode: ⚖️ Balanced: This is a governance registry/contract change whose metadata affects validation and proposal tracking; despite being localized and low in code complexity, correctness warrants the complete single-pass review rather than skipping or using a light pass.

Grey Divider

Tip of the day
💡 Did you know, you can tweak Display preferences with a live preview to see your comment before it ships

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment on lines +133 to +136
- id: actions-refinements
title: "Issue #192 action-integration refinements"
author: Manus AI
posted_at: 2026-08-19

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

1. Registry summary truncates entries 🐞 Bug ◔ Observability

The proposal-lifecycle workflow only prints the first 120 lines of docs/proposals/registry.yaml,
and the newly-registered proposals start after that cutoff, so they will not appear in the CI job
summary. This makes reviewers/operators miss the newly-added registrations in the workflow output
even when validation passes.
Agent Prompt
### Issue description
The `proposal-lifecycle` workflow summarizes only the first 120 lines of `docs/proposals/registry.yaml`, which now excludes newly-added proposal entries (they start after line 120). This reduces observability during PR review and triage.

### Issue Context
The workflow currently uses `sed -n '1,120p'` to build the step summary.

### Fix Focus Areas
- .github/workflows/proposal-lifecycle.yml[30-35]
- docs/proposals/registry.yaml[133-186]

### Suggested change
Replace the `sed -n '1,120p'` line with one of:
- `cat docs/proposals/registry.yaml >> "$GITHUB_STEP_SUMMARY"`
- or increase the range (e.g., `sed -n '1,260p' ...`) if you want a hard cap.

Keep the existing fenced code block markers.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@github-actions

Copy link
Copy Markdown
Contributor

context_key: pr-290-fixproposal-registry-orphans
source_id: 5374011964
source_revision: 5374011964:2026-08-21T18:56:05Z
@jules Auto-resolve (heyVern lane / GHA agent-review-auto-jules) — do not wait for a human ping.
New work-context pr-290-fixproposal-registry-orphans — create session if none exists, then prefer continue thereafter.
Bot feedback from qodo-code-review[bot] on PR #290 (branch fix/proposal-registry-orphans).

Feedback excerpt

<h3>Code Review by Qodo</h3>

<code>🐞 Bugs (1)</code>  <code>📘 Rule violations (0)</code>  <code>📜 Skill insights (0)</code>

<img src="https://www.qodo.ai/wp-content/uploads/2025/11/light-grey-line.svg" height="10%" alt="Grey Divider">

<br/>

<img src="https://img.shields.io/badge/Medium-634FD1?style=flat-square" height="20px" alt="Remediation recommended">

<details>
<summary>  1.  Registry summary truncates entries <code>🐞 Bug</code> <code>◔ Observability</code></summary>

<br/>

> <details open>
><summary>Description</summary>
><br/>
>
><pre>
>The proposal-lifecycle workflow only prints the first 120 lines of <b><i>docs/proposals/registry.yaml</i></b>,
>and the newly-registered proposals start after that cutoff, so they will not appear in the CI job
>summary. This makes reviewers/operators miss the newly-added registrations in the workflow output
>even when validation passes.
></pre>
></details>

> <details>
><summary>Code</summary>
><br/>
>
><code>[docs/proposals/registry.yaml[R133-136]](https://github.com/timerloggedout-spec/termux-monorepo/pull/290/files#diff-547ee4a643f0a5823d349e2922c67ee52e33bc91fb8d2e6324010cc31f46190dR133-R136)</code>
>
>```diff
>+  - id: actions-r

Instructions

  1. Address open review disposition / threads (CodeRabbit, Devin, Copilot). Ignore pure analysis-chain dumps.
  2. Prefer minimal diffs; preserve Sentinel 0o600/0o700 if those files are touched.
  3. Push commits to branch fix/proposal-registry-orphans. Do not retarget away from the PR base without cause.
  4. If conflicts with base exist, resolve them.
  5. Skip pure nits only if they conflict with security/gates; otherwise apply autofixes.
  6. Non-empty diff required — empty commits are rejected.
    Monikers: docs/ops/AGENT-MONIKERS.md
    Agent: Grok (archW1z) orchestration · Profile: https://x.com/grok
    Signed-off-by: Grok (OPERATOR) session-auto-jules / context_key=pr-290-fixproposal-registry-orphans

Agent-Identity: Manus

Task-Ref: #289
Signed-off-by: Manus <manus@manus.im>
@timerloggedout-spec
timerloggedout-spec merged commit a58661b into master-staging Aug 21, 2026
10 of 12 checks passed
@timerloggedout-spec
timerloggedout-spec deleted the fix/proposal-registry-orphans branch August 21, 2026 20:56
@github-actions

Copy link
Copy Markdown
Contributor

head_sha: cc448b4
ready: false
autofix_requested: false
timed_out: true

Peer review gate (ready for second-pass agents)

External reviewers polled: CodeRabbit, Devin, Aikido, Sentry, Copilot.
Autofix (if any) was requested in a separate comment on this SHA.

Peer activity (truncated):

no peer activity yet

Downstream: gemini-after-peers. Jules: agent-review-auto-jules.

This branch was successfully deployed

1 active deployment
Preview — cc448b4b Deployed Aug 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants