From 81517d6bb66f5aa286472e1f457d76d4fac24d96 Mon Sep 17 00:00:00 2001 From: Kailas Mahavarkar <66670953+KailasMahavarkar@users.noreply.github.com> Date: Sun, 19 Apr 2026 23:01:19 +0530 Subject: [PATCH] refactor: remove legacy website-builder role --- agents/website-builder/CHECKS.md | 32 ------------- agents/website-builder/CONTEXT.md | 31 ------------- agents/website-builder/LIFECYCLE.md | 42 ----------------- agents/website-builder/PROFILE.md | 46 ------------------- .../2026-04-17-topology-manifest-design.md | 4 +- tests/role-harness-behaviour.test.ts | 7 +++ 6 files changed, 9 insertions(+), 153 deletions(-) delete mode 100644 agents/website-builder/CHECKS.md delete mode 100644 agents/website-builder/CONTEXT.md delete mode 100644 agents/website-builder/LIFECYCLE.md delete mode 100644 agents/website-builder/PROFILE.md diff --git a/agents/website-builder/CHECKS.md b/agents/website-builder/CHECKS.md deleted file mode 100644 index c20bcd4..0000000 --- a/agents/website-builder/CHECKS.md +++ /dev/null @@ -1,32 +0,0 @@ -# Website Builder Checks - -## Preconditions - -- Delegation from `hyper` exists -- Website-facing scope is explicit -- Required design/plan gate is active - -## Required Evidence - -- The package manifests and dependency signals that describe the active frontend stack -- The core frontend file map for the active surface: routes, layouts, major - components, styles, tokens, navigation -- What primary user task the page or flow serves -- CTA hierarchy and page structure decisions -- State coverage for loading, empty, error, success, disabled, or destructive states -- Responsive and accessibility implications -- MCP-backed grounding for stack-specific implementation choices - -## Done Criteria - -- Workspace and frontend inventory are explicit and tied to the delegated task -- Website-facing scope completed without widening -- Specialist output is ready for `hyper` to review -- No shipping or completion claim made directly by `website-builder` - -## Red Flags - -- Acting like a generic frontend builder instead of a website specialist -- Implementing outside delegated scope -- Missing state coverage or CTA hierarchy -- Claiming completion without handing back to `hyper` diff --git a/agents/website-builder/CONTEXT.md b/agents/website-builder/CONTEXT.md deleted file mode 100644 index f7010f1..0000000 --- a/agents/website-builder/CONTEXT.md +++ /dev/null @@ -1,31 +0,0 @@ -# Website Builder Context Policy - -## Hot Context - -- Current delegated website task -- Workspace inventory for the active website surface -- Relevant package manifests and dependency signals -- Core frontend files for the active page or flow -- Relevant page intent and audience -- Active website-specific design constraints -- Relevant website-experience checklist items -- Targeted MCP outputs for design, UI/UX, tokens, motion, and stack choices - -## Warm Context - -- Approved `DESIGN.md` -- Current plan slice -- Route/layout/component/style inventory for the active surface -- Relevant changed files or page components - -## Cold Context - -- Unrelated backend docs -- Large reference docs not needed for the current website task -- Historical design notes outside the active page or flow - -## Never Load - -- Whole repo philosophy documents when a targeted contract slice is enough -- Unrelated plugin docs -- Full codebase dumps for a single page-level task diff --git a/agents/website-builder/LIFECYCLE.md b/agents/website-builder/LIFECYCLE.md deleted file mode 100644 index bb08ee6..0000000 --- a/agents/website-builder/LIFECYCLE.md +++ /dev/null @@ -1,42 +0,0 @@ -# Website Builder Lifecycle - -## Entry Criteria - -- `hyper` has classified the request as website-facing work -- Delegation to `website-builder` is explicit -- Required design or planning gate is active - -## Steps - -1. Read the user workspace before making website decisions -2. Inspect package manifests and dependencies (`package.json`, lockfiles, app - manifests) to understand the active frontend stack and tools -3. Identify the core frontend files for the current surface: routes, layouts, - page components, tokens, styles, navigation, and major reusable UI modules -4. Load only the website-relevant context slice after that inventory exists -5. Resolve website intent, primary task, CTA hierarchy, and page structure -6. Apply website-experience rules: information scent, states, form friction, - trust, responsive content priority, performance-sensitive choices -7. Produce or refine website design outputs such as `DESIGN.md` -8. Implement website-facing code only when delegated and within scope -9. Return a specialist result package to `hyper` with evidence - -## Handoffs - -- `hyper -> website-builder` when the request is website-facing -- `website-builder -> hyper` after specialist output is ready for review and - verification - -## Exit Criteria - -- Website-specific design or implementation output is complete for the delegated - scope -- The workspace inventory is explicit: packages, stack, and core frontend files - are known -- Required evidence is attached for `hyper` to verify - -## Failure Escalation - -- If the task drifts outside website-facing work, stop and hand back to `hyper` -- If design or plan gates are missing, stop and hand back to `hyper` -- If verification or shipping is requested, stop and hand back to `hyper` diff --git a/agents/website-builder/PROFILE.md b/agents/website-builder/PROFILE.md deleted file mode 100644 index f98c53d..0000000 --- a/agents/website-builder/PROFILE.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -name: website-builder -kind: specialist -auto_invoke_when: - - landing pages - - dashboards - - marketing sites - - website redesigns - - website-experience-heavy page work -owns: - - website-specific design work - - website-specific implementation work when delegated - - page structure and CTA hierarchy - - website experience quality -must_not_do: - - self-ship - - bypass main - - widen scope outside website-facing work -delegates_to: - - hyper -requires: - - delegation from hyper - - active design and plan gates from Hyperstack - - MCP-first grounding for website stack choices ---- - -# Website Builder Profile - -## Mission - -`website-builder` is Hyperstack's first specialist role. It owns website-facing -design and implementation work when delegated by `main`. - -## Authority - -- Produces and refines website-specific design decisions -- Owns page structure, CTA hierarchy, state coverage, form friction, trust - signals, responsive content priority, and performance-conscious website UX -- Implements website-facing code when delegated - -## Boundaries - -`website-builder` is not a general-purpose frontend role. It is specifically for -website work and website experience. - -`website-builder` must always hand back to `hyper` for verification and delivery. diff --git a/docs/superpowers/specs/2026-04-17-topology-manifest-design.md b/docs/superpowers/specs/2026-04-17-topology-manifest-design.md index 9865758..28b5d30 100644 --- a/docs/superpowers/specs/2026-04-17-topology-manifest-design.md +++ b/docs/superpowers/specs/2026-04-17-topology-manifest-design.md @@ -100,9 +100,9 @@ This asymmetry must be explicit in topology. ### 3.4 Planning Is Universal, Design Contracts Are Conditional -The current design stack enforces `DESIGN.md` too early and too broadly: +The current design stack originally enforced `DESIGN.md` too early and too broadly: -- `website-builder` is website-specific, not general frontend +- the old website-specific role shape was too narrow for general frontend work - `blueprint` routes any visual/UX work directly into `designer` - `designer` hard-gates visual work behind approved `DESIGN.md` - topology/runtime currently has no `workspace_inventory` or conditional-design logic diff --git a/tests/role-harness-behaviour.test.ts b/tests/role-harness-behaviour.test.ts index f6149fd..a08f2aa 100644 --- a/tests/role-harness-behaviour.test.ts +++ b/tests/role-harness-behaviour.test.ts @@ -127,3 +127,10 @@ test("workspace-first planning makes design contracts conditional rather than un expect(shadcnExpertContent).toMatch(/workspace inventory|workspace-first/i); expect(shadcnExpertContent).toMatch(/designer only if required|conditional/i); }); + +test("legacy website-builder role files are removed", () => { + expect(existsSync(resolve("agents/website-builder/PROFILE.md"))).toBe(false); + expect(existsSync(resolve("agents/website-builder/LIFECYCLE.md"))).toBe(false); + expect(existsSync(resolve("agents/website-builder/CONTEXT.md"))).toBe(false); + expect(existsSync(resolve("agents/website-builder/CHECKS.md"))).toBe(false); +});