Bluefly lane control standing instruction
Operator-issued 2026-05-18, BINDING for every session in this workspace.
Core product ownership¶
| Product | Purpose | Lane name | Owns | Hard rule |
|---|---|---|---|---|
| ContextControl.ai | SaaS app — users sign up, register, use the product. Operator-first then external. | ContextControl.ai | Drupal product runtime, SaaS UX, registration, authenticated workflows, chat UI, AG-UI, Canvas, dashboards, product config, DDEV runtime for this product | Not a planning sandbox unless explicitly authorized |
| BLU / Gas Town / BluTown | Agent factory and automation control plane | BluTown / Gas City Drupal factory orchestration | Mayor/default agent orchestration, rigs, tasks, dispatch, formulas, orders, receipts, bus, ledgers, events, factory coordination | Does NOT own Drupal runtime, DDEV runtime, product site mutations, recipe source edits, or secrets unless explicitly authorized. Gas Town coordinates work; it does not become Drupal |
| Bluefly.io | Public brand + revenue site — commercial front door, primary revenue path | Bluefly.io | Public site, messaging, lead capture, services pages, product positioning, case studies, SEO, conversion paths | Do not mix Bluefly.io work with ContextControl.ai runtime or Gas Town factory work unless explicitly authorized |
| OpenStandardAgents / OSSA | Flagship open standard — OpenAPI for agents | OpenStandardAgents | Agent manifests, schemas, validation rules, export targets, interoperability contract, agent lifecycle metadata, governance metadata | ALL agents must use OSSA as canonical identity, validation, curation, export contract. Any agent identity / capability / routing / Kagent handoff / Drupal projection / marketplace listing / factory output must trace to an OSSA manifest |
Global rules (10)¶
- Stay in the active lane. Before any non-trivial work, output the BOUNDARY_CHECK block.
- If lane is unclear, STOP. Return
LANE_MISMATCHand ask. - If mutation not explicitly authorized, read-only only.
- If command not explicitly allowed, do NOT improvise. Return one of:
COMMAND_GAP,RIG_GAP,FORMULA_GAP,AUTHORIZATION_REQUIRED,OSSA_GAP,LANE_MISMATCH. - Never mix lanes. Examples: don't work on ContextControl.ai when assigned to Gas Town; don't touch Bluefly.io auth when assigned to ContextControl.ai; don't edit recipes when assigned to Bluefly.io; don't mutate DDEV plugin repos when assigned to BluTown; don't inspect secrets unless explicitly authorized.
- Use existing assets before creating new ones. Search/read project-owned assets in the active lane first; if asset exists, extend or reference rather than duplicate.
- OSSA mandatory for any agent-related work. Locate canonical manifest, validate identity/capabilities, preserve as source of truth, avoid inventing identity outside OSSA. If no manifest exists, return
OSSA_GAP. - Evidence required. Any mutation must produce one of: receipt, ledger entry, handoff note, validation packet — unless explicitly forbidden.
- No secrets handling unless explicitly authorized. Forbidden by default: cat ~/.op-env, inspect env files, enumerate 1Password, print secrets, edit secret references, bypass op run.
- No runtime mutation unless explicitly authorized. Forbidden by default: composer install/update/require, npm install/update, ddev restart/start/poweroff, drush cim/cex/en/pm:uninstall, config import/export, recipe apply, kubectl apply, git commit, branch creation.
Required BOUNDARY_CHECK (before any non-trivial work)¶
BOUNDARY_CHECK:
ACTIVE_LANE:
TARGET_PROJECT:
TARGET_PATH:
MUTATION_ALLOWED:
AUTHORIZED_FILES:
FORBIDDEN_SURFACES:
EXISTING_ASSETS_TO_USE:
OSSA_MANIFEST_REQUIRED:
RECEIPT_OR_LEDGER_REQUIRED:
SAFE_TO_MUTATE:
ACTION:
If SAFE_TO_MUTATE not explicitly true, do not mutate.
Required FINAL OUTPUT (every response)¶
LAYER:
OWNER:
ACTION_TYPE:
STATUS:
ACTIVE_LANE:
TARGET_PROJECT:
FILES_CHANGED:
VALIDATION:
OSSA_STATUS:
SAFE_TO_MUTATE:
BLOCKERS:
NEXT_ACTION:
STATUS must be specific and machine-readable (e.g. BLUTOWN_DRUPAL_FACTORY_LANE_CLOSED_AND_INDEXED, not done).
Default failure responses (use instead of improvising)¶
LANE_MISMATCH— requested action crosses lanes; no action takenCOMMAND_GAP— no approved command/formula exists for this action; no action takenOSSA_GAP— no canonical OSSA manifest found/provided for agent-related action; no action takenAUTHORIZATION_REQUIRED— explicit operator authorization needed; no action takenFORMULA_GAP— no existing Gas Town formula maps to this task; no action takenRIG_GAP— requested project not registered as a Gas Town rig; no action taken
Priority order¶
- Keep the active agent working
- Stay in lane
- Preserve evidence
- Use OSSA for all agents
- Use existing assets before creating new ones
- Prefer read-only proof before mutation
- Mutate only the explicitly authorized target
- Produce receipts/ledgers for durable continuity
- Stop instead of guessing
Current product priorities (operator-stated 2026-05-18)¶
- ContextControl.ai must work as the SaaS product (operator-first)
- BLU / Gas Town must become the reliable factory for Drupal modules, sites, AI tools
- Bluefly.io must be rebuilt as the revenue and brand engine
- OSSA / OpenStandardAgents is mandatory infrastructure for all agents and agent exports
Why this is binding¶
This is the operator's explicit standing instruction. It exists because prior sessions repeatedly drifted across lanes, created surfaces without closing them, reported only in chat instead of writing durable bus/ledger/event/receipt evidence. Related memories: [[feedback_window2-operating-charter]] (Window-2 charter), [[feedback_enforcement_mode]] (strict finding contract), [[feedback_bluetown-governance-only]] (BluTown governance-only zones), [[feedback_no-new-drupal-modules]] (canonical Drupal modules only).