Skip to content

Refactor and cleanup: remove slot_allocator.py, update mnemon-seed-pe… - #40

Merged
gitricko merged 2 commits into
gitricko:mainfrom
pokemanricko:pokie
Aug 19, 2026
Merged

gitricko merged 2 commits into
gitricko:mainfrom
pokemanricko:pokie

Conversation

@pokemanricko

Copy link
Copy Markdown
Contributor

…… (#1)

  • Refactor and cleanup: remove slot_allocator.py, update mnemon-seed-persistence and persistent-knowledge documentation, and delete outdated lavish-axi setup files

  • Add lavish planning prerequisites script and CI lint check skill

  • Implemented lavish_planning_prereqs.sh to verify and install dependencies for the lavish-planning-gui skill in Codespaces.
  • Updated wiki with new documentation for codespace-lavish skill, detailing architecture, usage, and prerequisites.
  • Created ci-lint-check skill to validate markdown, SKILL.md structure, and shell scripts before commits.
  • Integrated ci-lint-check into the CI workflow to ensure linting occurs automatically on relevant changes.
  • Enhanced INDEX.md to include links to new skills and documentation.
  • fix: restore lint-check job in devcontainer CI workflow

  • docs: add dev/prod parity pattern for CI lint checks and update mnemon seed persistence workflow

#1)

* Refactor and cleanup: remove slot_allocator.py, update mnemon-seed-persistence and persistent-knowledge documentation, and delete outdated lavish-axi setup files

* Add lavish planning prerequisites script and CI lint check skill

- Implemented `lavish_planning_prereqs.sh` to verify and install dependencies for the lavish-planning-gui skill in Codespaces.
- Updated wiki with new documentation for `codespace-lavish` skill, detailing architecture, usage, and prerequisites.
- Created `ci-lint-check` skill to validate markdown, SKILL.md structure, and shell scripts before commits.
- Integrated `ci-lint-check` into the CI workflow to ensure linting occurs automatically on relevant changes.
- Enhanced `INDEX.md` to include links to new skills and documentation.

* fix: restore lint-check job in devcontainer CI workflow

* docs: add dev/prod parity pattern for CI lint checks and update mnemon seed persistence workflow
@greptile-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown

Greptile Summary

This PR replaces the retired Lavish/CDP tooling with a headed Codespace Lavish workflow, centralizes lint validation in a reusable script, and updates persistent knowledge and documentation.

  • Adds the Codespace Lavish prerequisite and GUI launch scripts.
  • Adds a canonical local/CI lint-validation skill and delegates the workflow job to it.
  • Removes obsolete CDP browser-testing and dynamic-slot Lavish tooling.
  • Updates Mnemon seed data, persistent-skill guidance, and wiki navigation.

Confidence Score: 2/5

The PR is not safe to merge until unauthenticated noVNC exposure is prevented and repeated launches stop accumulating poll supervisors.

The launcher can expose passwordless control of its headed browser whenever the Codespace port is public, and its advertised rerun path creates an additional persistent polling loop on every invocation.

Files Needing Attention: .devcontainer/skills/codespace-lavish/scripts/lavish_planning_gui.sh, .devcontainer/skills/ci-lint-check/SKILL.md, .github/workflows/devcontainer-ci.yml

Security Review

The new noVNC launcher exposes a passwordless VNC bridge on all interfaces and does not enforce private Codespace-port visibility, allowing remote browser control if port 6080 is public.

Important Files Changed

Filename Overview
.devcontainer/skills/codespace-lavish/scripts/lavish_planning_gui.sh Adds the complete headed-browser stack, but leaves remote VNC access dependent on unenforced port visibility and leaks another poll supervisor on every rerun.
.devcontainer/skills/codespace-lavish/scripts/lavish_planning_prereqs.sh Adds prerequisite detection and optional installation for the GUI stack; no independent blocking defect was identified.
.devcontainer/skills/ci-lint-check/scripts/ci_lint_check.sh Centralizes markdown, metadata, seed, shell, and symlink checks, though workflow routing does not invoke it for every documented root shell path.
.github/workflows/devcontainer-ci.yml Delegates lint validation to the canonical script while retaining path filters that omit free-disk.sh and keepalive.sh.
.devcontainer/skills/ci-lint-check/SKILL.md Documents local/CI parity but inaccurately states that every .devcontainer/*.sh change triggers lint-check.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  User[User browser] -->|Codespace port 6080| WS[websockify / noVNC]
  WS -->|VNC localhost:5900| VNC[x11vnc]
  VNC --> Display[Xvfb display :99]
  Display --> Chrome[Headed Chrome]
  Chrome -->|localhost:4387| Lavish[Lavish-AXI session]
  Poll[Persistent poll loop] --> Lavish
Loading
Prompt To Fix All With AI
### Issue 1
.devcontainer/skills/codespace-lavish/scripts/lavish_planning_gui.sh:171-173
**Passwordless VNC exposed externally**

If port 6080 is public or otherwise reachable by an untrusted user, `websockify` exposes the passwordless x11vnc service on every interface, allowing that user to control the headed Chrome session, interact with the whiteboard, and navigate the browser. **How this was verified:** The launcher combines x11vnc `-nopw`, a `0.0.0.0` websockify listener, and an external auto-connect URL without enforcing private port visibility.

### Issue 2
.devcontainer/skills/codespace-lavish/scripts/lavish_planning_gui.sh:200-213
**Reruns leak poll supervisors**

When the documented idempotent launcher is run more than once, this unguarded block starts and disowns another infinite poll loop, causing persistent background processes and concurrent long polls for the same session to accumulate.

### Issue 3
.devcontainer/skills/ci-lint-check/SKILL.md:92
**Shell-path coverage is overstated**

This table says every `.devcontainer/*.sh` change triggers `lint-check`, but the workflow filters omit `free-disk.sh` and `keepalive.sh`; contributors therefore receive no CI shell-syntax validation for changes limited to those files despite the documented guarantee.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Merge branch 'main' into pokie" | Re-trigger Greptile

Comment on lines +200 to +213
# --- 8. Poll listener (feedback loop) — left running in background with auto-restart ---
echo "[lavish-planning-gui] starting poll listener (continuous feedback loop)..."
(
cd "$LAVISH_DIST"
while true; do
LAVISH_AXI_PORT="$LAVISH_PORT" LAVISH_AXI_STATE_DIR="$STATE_DIR" \
node "$LAVISH_DIST/cli.mjs" poll "$ARTIFACT" >>/tmp/lavish-poll.log 2>&1
echo "[$(date)] poll exited, restarting in 2s..." >>/tmp/lavish-poll.log
sleep 2
done
) &
POLL_PID=$!
# Ensure it's in its own process group so it survives shell exit
disown -h $POLL_PID 2>/dev/null || true

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 Reruns leak poll supervisors

When the documented idempotent launcher is run more than once, this unguarded block starts and disowns another infinite poll loop, causing persistent background processes and concurrent long polls for the same session to accumulate.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .devcontainer/skills/codespace-lavish/scripts/lavish_planning_gui.sh
Line: 200-213

Comment:
**Reruns leak poll supervisors**

When the documented idempotent launcher is run more than once, this unguarded block starts and disowns another infinite poll loop, causing persistent background processes and concurrent long polls for the same session to accumulate.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

| `.devcontainer/wiki/**` | `lint-check` | ~30s |
| `.devcontainer/mnemon/**` | `lint-check` | ~30s |
| `.devcontainer/memories/**` | `lint-check` | ~30s |
| `.devcontainer/*.sh` | `lint-check` | ~30s |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Shell-path coverage is overstated

This table says every .devcontainer/*.sh change triggers lint-check, but the workflow filters omit free-disk.sh and keepalive.sh; contributors therefore receive no CI shell-syntax validation for changes limited to those files despite the documented guarantee.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .devcontainer/skills/ci-lint-check/SKILL.md
Line: 92

Comment:
**Shell-path coverage is overstated**

This table says every `.devcontainer/*.sh` change triggers `lint-check`, but the workflow filters omit `free-disk.sh` and `keepalive.sh`; contributors therefore receive no CI shell-syntax validation for changes limited to those files despite the documented guarantee.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@gitricko
gitricko merged commit e49d7ce into gitricko:main Aug 19, 2026
4 checks passed
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