audit: US-002 — Resolve packages/web-ui + packages/slack + dangling references

This commit is contained in:
OpenHarness Bot committed 2026-05-02 19:08:18 -06:00
1 parent fd2f9499a1
commit 6c24b86e7f
4 files changed
+2 -20

No files matched your search

+1 -1
View File
@@ -17,7 +17,7 @@ assignees: ""
## Proposed Implementation
<!-- Describe the approach. Consider:
- Which area of the harness does this affect? (packages/sandbox, packages/slack, .devcontainer, install/, docs/, workspace/ template)
- Which area of the harness does this affect? (.devcontainer/, install/, docs/, workspace/ template, scripts/, crons/)
- New skill, rule, or heartbeat needed?
- Compose overlay change? Dockerfile change?
- Any new commands or CLI surface?
+1
View File
@@ -9,6 +9,7 @@ Update policy and release automation live in [`.claude/rules/git.md`](.claude/ru
## [Unreleased]
### Removed
- Remove the empty untracked `packages/web-ui/` and `packages/slack/` husks, plus the stale Slack workspace and entrypoint references. ([#213](https://github.com/ryaneggz/open-harness/issues/213))
- Remove the obsolete on-disk SPEC v0.6 artifact so `.claude/specs/` only exposes canonical tracked specs. ([#213](https://github.com/ryaneggz/open-harness/issues/213))
- **BREAKING**: `oh harness add` deprecated; `mifune` (and any other harness pack) installs via `git clone` + manual `cp` per the pack's README for v1. The CLI-driven pack installer was deleted along with `packages/sandbox/` in US-006; its `fetchGitPack` (command-injection-prone) and `registerComposeOverlays` (path-traversal-prone) plumbing is gone with it. A redesigned, security-first standalone installer (~50 LOC) tracked for v0.8 in [#211](https://github.com/ryaneggz/open-harness/issues/211): URL allowlisting, signature/SHA verification, sandboxed install, command-injection-safe `spawnSync`, path-traversal-safe overlay resolution, atomic registry write. Per SPEC v0.7 §"Pack mechanism status in v0.7". ([#210](https://github.com/ryaneggz/open-harness/issues/210))
- **BREAKING**: workspace template emptied of pi-coupled scaffolding. Deleted `workspace/HEARTBEAT.md`, `workspace/IDENTITY.md`, `workspace/MEMORY.md`, `workspace/SOUL.md`, `workspace/TOOLS.md`, `workspace/USER.md` (six identity files belonging to the v0 multi-agent persona); `workspace/heartbeats/` (replaced by root `crons/` per US-002), `workspace/.ralph/`, `workspace/.codex` symlink, `workspace/.openharness` symlink, and `workspace/memory/` (instance state in template); `workspace/.claude/skills/{compress,content-gate,eval-conciseness,quality-gate,wiki-ingest,wiki-lint,wiki-query,ralph,prd,ci-status}/` (ten workspace skills); `workspace/.claude/agents/{council,critic,implementer,pm,agent-builder,command-builder,rule-builder,skill-builder}.md` (eight sub-agents); and `workspace/.claude/hooks/notify_slack.sh` (Slack hook + its references in `workspace/.claude/settings.local.json`). Rewrote `workspace/AGENTS.md` (and the `CLAUDE.md` symlink) as a generic ~22-line agent-runtime stub. Kept: `workspace/AGENTS.md`, `workspace/startup.sh`, `workspace/.claude/.example.env.claude`, `workspace/.claude/rules/{code-quality,git,token-conservation}.md`, `workspace/.claude/settings.local.json`, `workspace/.claude/screenshots/.gitkeep`. The workspace template is now agent-runtime-agnostic; identity, skills, sub-agents, and routines come from a harness pack (e.g. `@ryaneggz/mifune`), not from this directory. Per SPEC v0.7 §"Harness Packs". ([#210](https://github.com/ryaneggz/open-harness/issues/210))
-18
View File
@@ -62,22 +62,4 @@ if [ -f "$STARTUP" ]; then
gosu sandbox bash "$STARTUP" 2>&1 | sed 's/^/ /' || true
fi
# Build and link Slack bot from bind-mount (replaces /opt/slack image copy).
# Entrypoint runs as root, so $HOME is /root — use the sandbox user's absolute
# path and run pnpm as that user so the global link lands on their PATH.
SLACK_PKG="/home/sandbox/harness/packages/slack"
if [ -f "$SLACK_PKG/package.json" ]; then
echo "[entrypoint] Building and linking Slack bot package..."
# PNPM_HOME defaults to /usr/local/share/pnpm (root-owned). pnpm link --global
# writes there, so ensure the sandbox user can. Create + chown before gosu.
PNPM_HOME_DIR="${PNPM_HOME:-/usr/local/share/pnpm}"
mkdir -p "$PNPM_HOME_DIR"
chown -R sandbox:sandbox "$PNPM_HOME_DIR"
if gosu sandbox bash -c "cd '$SLACK_PKG' && pnpm install && pnpm run build && pnpm link --global"; then
echo "[entrypoint] Slack bot linked ($(gosu sandbox bash -lc 'command -v mom || echo missing'))"
else
echo "[entrypoint] WARNING: Slack bot build/link failed — mom CLI will be unavailable"
fi
fi
exec gosu sandbox "$@"
-1
View File
@@ -1,3 +1,2 @@
packages:
- packages/slack
- apps/docs