Skip to content

Releases

v4.2.0

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 28 Jul 21:53

Alex ACT Edition v4.2.0

Adds version-aware legacy installation support required before Alex ACT Plugin Mall 3.0.0 GA.

Changed

  • Supports Mall 3 nested skills, agents, compatible commands, and MCP servers.
  • Retains Mall 2 root-layout fallback during migration.
  • Records exact installed component_paths for safe refresh and removal.
  • Aligns Edition banners and product naming with the current Alex brand.

Upgrade requirement

Upgrade target template and legacy heirs to v4.2.0 and verify Mall installation behavior before Mall 3.0.0 GA. Unchanged Edition 3.x brains are not protected by this compatibility release.

Brain contract

No change: minimum Extension 9.5.1, manifest spec 1.4, .github brain subtree, marker schema v2.

v4.1.0

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 13 Jul 13:45

[4.1.0] - 2026-07-13

Minor [constitutional] - Local Memory secret resolution and heir-doctor reliability.

Added

  • [behaviour] Added exact-name local secret lookup through _registry.cjs#readMemorySecret. Resolution checks the process environment, explicit file, project .env, then the sibling Memory clone's ignored and untracked .env; it never enumerates variables or mutates process.env.

Changed

  • [constitutional] Expanded encrypted-profile authorization to use Memory .env as the final machine-local fallback. Project values retain precedence, every file source must be Git-ignored, missing profile authorization still skips safely, and greeting remains independent of secret lookup.
  • [behaviour] Fixed heir doctor crashing with ReferenceError: walkDir is not defined when validating files inside an Edition-shipped skill. Added a temporary-heir regression with both shipped and local skills. This release carries the fix; the immutable v4.0.1 control baseline retains the defect as measured evidence.

Brain contract

No change: min_extension_version remains 9.5.1, brain_subtrees remains [.github], marker_schema remains v2, and manifest spec remains 1.4. Extension v9.5.1 or later can install this release without a host update.

Heir upgrade

Standard minor upgrade from v4.0.1. Projects that use encrypted Memory profiles may authorize exact-name reads through a local Git-ignored .env; project-local values retain precedence over the sibling Memory fallback. Projects that do not use profile-backed preferences are unaffected. Heir doctor now validates Edition-shipped and local skills without the v4.0.1 walkDir crash.

Falsifier

Revisit by 2026-10-13, or immediately if project precedence is bypassed, a non-ignored secret file is read, secret names or values are enumerated or logged, greeting becomes dependent on secret access, or heir doctor misclassifies shipped/local skills after the recursive-walker fix.

v4.0.1

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 11 Jul 23:17

Alex ACT Edition v4.0.1

This patch makes the accepted ten-tenet ACT canon explicit and release-blocking.

Changed

  • Pins all ten Roman IDs and exact canonical names.
  • Preserves explanatory roles: Foundational I/II, Operational III/VII/VIII, Protective IV/V/IX, and Governing VI/X.
  • Keeps the seven-step ACT pass separate from the tenet canon.
  • Corrects the medium-stakes pass to include explicit Disconfirmers.
  • Adds deterministic checks for operational bindings and replacement-canon drift.

Compatibility

The Extension contract is unchanged: manifest spec 1.4, minimum Extension 9.5.1, brain subtree .github, marker schema v2.

Validation

Edition 93/93, canon guard 5/5, mutations 4/4 caught, Edition-Mall coherence 0 hard / 0 soft, Supervisor QA and capability coverage pass.

v4.0.0 - Encrypted Memory profiles

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 11 Jul 22:25

Alex ACT Edition v4.0.0

Major privacy-contract release.

Breaking changes

  • Plaintext Memory profiles are no longer read or written.
  • Greeting check-in no longer decrypts profiles automatically.
  • Profile writes are encrypted, atomic, local-only, and never auto-pushed.
  • The profile CLI reports availability without printing profile content.

Authorization

Profile access uses ALEX_ACT_MEMORY_PASSWORD from the local process environment or a Git-ignored project env file. Missing authorization skips profiles; wrong passwords and tampering fail closed. Non-profile Memory channels remain available without the key.

Contract

The Extension floor remains 9.5.1 and manifest spec remains 1.4. Standard major-version upgrade review applies.

Validation

Edition 88/88 tests; Memory 43/43 tests; 9/9 security mutations caught; brain QA and capability coverage green.

v3.8.3

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 07 Jul 16:03

[3.8.3] - 2026-07-07

Patch [behaviour] — Tier D bundle D9 + D10: new browser-tools skill (Edition + Supervisor byte-identical mirror) + welcome-baseline $comment note documenting Copilot Memory user preferences on Business/Enterprise plans.

User signal confirmed both preconditions the Tier D menu was holding these items on: (a) enterprise plan in use, unblocking D9's Business/Enterprise Copilot Memory user-preferences awareness; (b) concrete use case named for browser tools — bot-avoidance across multiple projects + design validation — unblocking D10's new skill.

Source: Tier D items D9 + D10 from Alex_ACT_Supervisor/docs/proposals/tier-d-implementation-menu-2026-07-07.md.

Added

  • .github/skills/browser-tools/SKILL.md (~200 lines) — new skill guiding when to reach for VS Code 1.127+ browser tools instead of fetch_webpage. Covers three operational patterns: (1) bot-protected content read (CloudFlare, PerimeterX, Akamai, Datadome), (2) design validation via screenshot_page, (3) interactive site behind consent gate. Toolset reference for all agent-invocable browser operations (open_browser_page, screenshot_page, click_element, read_page, type_in_page, hover_element, handle_dialog, drag_element, run_playwright_code, navigate_page). Safety section: external URL trust boundary + screenshot content leakage + credential handling (NEVER type secrets via type_in_page) + enterprise policy interaction (BrowserChatTools, ChatAgentNetworkFilter) + consent-gate discipline (don't accept ToS on user's behalf). Cost section: browser tools heavier than fetch_webpage, upgrade only when needed. When NOT to Fire: static HTML, trusted docs sources, API endpoints. Byte-identical Supervisor mirror.

Changed

  • .github/config/welcome-baseline.json ($comment only, settings block untouched) — Category (3) Copilot chat features gained 5-line sub-note documenting Copilot Memory user preferences (GH GA 2026-06-02 for Business/Enterprise plans) as a distinct layer from this brain's memory-triggers.instructions.md. Platform Copilot Memory persists short-term chat context on GitHub-managed infra; brain memory-triggers govern deliberate persistence to /memories/, HANDOFF.md, and ../Alex_ACT_Memory/. Both fire concurrently without conflict.

Brain contract

Unchanged: min_extension_version stays 9.5.1, brain_subtrees stays [.github], marker_schema stays v2, manifest spec stays 1.4. Only edition_version (3.8.2 → 3.8.3), generated_at, and skills count (37 → 38) change in the manifest.

Heir upgrade

Standard /upgrade (Extension ACT: Upgrade Brain). No --allow-major needed. Heirs picking up v3.8.3 get the new browser-tools skill available for description-match invocation + the welcome-baseline $comment refresh. No rule changes; behavior gate for existing rules unchanged.

Falsifier

2026-10-07 (90 days) per skill's own ## Would Revise If:

  • Browser tools fire on tasks where fetch_webpage would have worked ≥3 times in a quarter → tighten "When to Fire" criteria.
  • Bot-protected content still fails on browser tools ≥1 time → surface the failure mode in Pattern 1.
  • Enterprise policy BrowserChatTools blocks tools entirely for a heir's org → add "not-applicable" branch to the skill.
  • Safety incident (screenshot leak, credential typed to wrong field, ToS accepted without authorization) → expand Safety section.
  • Design-validation output discipline slips (agent claims "looks good" without evidence) → tighten Pattern 2 evidence-required rule.

v3.8.2

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 07 Jul 15:46

[3.8.2] - 2026-07-07

Patch [clarification] — GitHub Copilot changelog refresh: Model Compatibility snapshot brought current (5 new models, 3 deprecation promotions, 1 currently-Primary downgrade); welcome-baseline $comment extended with enterprise-managed-settings.json per-OS paths.

Docs-only sibling to v3.8.1 (which shipped the VS Code 1.126–1.128 platform-awareness refresh). No rule changes, no settings object changes, no manifest contract change.

Source: Tier D items D2 + D3 from Alex_ACT_Supervisor/docs/proposals/tier-d-implementation-menu-2026-07-07.md, tracing back to copilot-changelog-2026-07-07.md Tier A.

Changed

  • README.md § Model Compatibility § Snapshot — validation date 2026-05-26 → 2026-07-07. Deprecation flag updates: GPT-4.1 ⚠️ (retiring 2026-06-01) → ❌ (deprecated 2026-06-02); GPT-5.2 + GPT-5.2-Codex ⚠️ (retiring 2026-06-01) → ❌ (deprecated 2026-06-05); Claude Opus 4.6 (fast mode) recommendation downgrade ✅ Primary (inferred) → ⚠️ (deprecation announced 2026-06-18); Gemini 2.5 Pro ✅ Primary → ⚠️ (deprecation announced 2026-07-02); Gemini 3 Flash 🟡 Utility → ⚠️ (deprecation announced 2026-07-02). Recommendation legend ❌ Do not adopt reworded from Retiring 2026-06-01 per GitHub Docs → Deprecated per GitHub Copilot changelog.
  • .github/config/welcome-baseline.json ($comment only, settings block untouched) — extended Category (8) block with an "Enterprise-managed environments" note documenting VS Code 1.125+ MDM channel + VS Code 1.127+ file-based delivery (GA 2026-07-01) + per-OS paths for managed-settings.json (Windows / macOS / Linux). Precedence order clarified: MDM + file-based delivery both override user-scope settings.json.

Added

  • README.md § Model Compatibility § Snapshot — 5 new model rows: Claude Sonnet 5 (✅ Primary inferred, GA 2026-06-30), Claude Fable 5 (✅ Primary inferred, GA 2026-06-09), Claude Opus 4.8 fast-mode Preview (⚠️ Test first, 2026-06-29), Kimi K2.7 Code (⚠️ Test first, GA 2026-07-01), MAI-Code-1-Flash (⚠️ Test first, GA 2026-06-26 Business/Enterprise).
  • README.md § Model Compatibility — new paragraph below the Snapshot table: "Note on Auto mode + configurable reasoning" documenting Auto mode GA 2026-06-17 (legitimate alternative to explicit Primary-slot pattern; not yet validated on ACT discipline; recommend explicit selection until measured) and configurable reasoning levels + larger context windows (GH 2026-06-04, extends same-name model rows).

Brain contract

Unchanged: min_extension_version stays 9.5.1, brain_subtrees stays [.github], marker_schema stays v2, manifest spec stays 1.4. Only edition_version and generated_at change in the manifest.

Heir upgrade

Standard /upgrade (Extension ACT: Upgrade Brain). No --allow-major needed. Heirs picking models via UI see the Snapshot table's new/deprecated rows on next visit to README.md; behavior gate for existing rules unchanged.

Falsifier

2026-08-07 (30 days per Copilot proposal falsifier):

  • (a) A recommendation flag for a new model (Sonnet 5 as ✅ Primary, Fable 5 as ✅ Primary, Kimi K2.7 / Opus 4.8 fast / MAI-Code-1-Flash as ⚠️ Test first) proves miscalibrated when a heir reports the model doesn't fit architectural-needs criteria → flip the flag via v3.8.3 patch.
  • (b) Opus 4.6 (fast) deprecation gets rescinded before it takes effect → restore the ✅ Primary flag.
  • (c) A model marked deprecated shows up in the Copilot picker still available past its deprecation date → clarify the flag semantics or amend the row.
  • (d) The Auto mode + configurable reasoning paragraph produces heir confusion about "should I pick a specific model or use Auto?" → expand the paragraph or drop it.

v3.8.1

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 07 Jul 15:24

Changelog

All notable changes to Alex ACT Edition.

[Unreleased]

[3.8.1] - 2026-07-07

Patch [behaviour] — VS Code 1.126–1.128 platform-awareness refresh (docs-only tool-awareness + terminal-safety table extensions, welcome-baseline $comment refresh) plus a forward-compatible heir_owned manifest field for next-gen Extension installs.

Two coordinated changes queued since v3.8.0, released together as a docs/manifest patch:

  1. VS Code 1.126–1.128 platform-awareness (Tier A of Alex_ACT_Supervisor/docs/proposals/vscode-1.126-1.128-adoption-2026-07-07.md). Extends the always-on tool-awareness table with 9 rows spanning three release cycles (Edit-mode deprecation, macOS/Linux terminal sandboxing, browser tools GA, BYOK Claude via own Anthropic key, and more), adds a 1.127 macOS/Linux terminal sandboxed by default row to terminal-command-safety, and refreshes welcome-baseline $comment to acknowledge 1.126 Edit-mode deprecation reinforcing the chat.agent.enabled: true pin.
  2. heir_owned manifest field (from v3.8.0 post-release commit cd32ece). Additive contract addition so next-gen static-fetch Extension installs can read the HEIR_OWNED policy as manifest data instead of executing fetched Edition code.

Both are additive; heirs that ignore the new tool-awareness rows still have correct rules, and existing Extensions still fall back to their legacy HEIR_OWNED parser.

Added

  • .github/instructions/tool-awareness.instructions.md — H2 renamed VS Code 1.122–1.125 conveniences → VS Code 1.122–1.128 conveniences; +9 rows covering 1.126 Edit-mode deprecation (reinforces chat.agent.enabled: true pin), 1.127 macOS/Linux terminal sandboxing / /troubleshoot on agent host / browser tools GA / file-based managed Copilot settings / built-in Ollama provider deprecated, 1.128 BYOK Claude via own Anthropic key / custom endpoint model options for BYOK / Claude agent → integrated browser DOM. Byte-identical Supervisor↔Edition mirror per shared-core-coherence.
  • .github/instructions/terminal-command-safety.instructions.md — H2 renamed VS Code platform changes (1.117–1.121) → (1.117–1.127); +1 row for 1.127 macOS/Linux terminal sandboxed by default (Windows unaffected — Backtick Hazard + Output Capture rules still apply); Backtick Hazard falsifier watermark bumped through 1.121 → through 1.128 (microsoft/vscode#295620 re-verified open, milestone On Deck).
  • .github/config/edition-manifest.json — new heir_owned field generated from _registry.cjs, forward-compatible for next-gen Extension installs.

Changed

  • .github/config/welcome-baseline.json ($comment only, settings block untouched) — audit watermark 2026-06-23 → 2026-07-07, VS Code coverage 1.121-1.125 → 1.121-1.128, +3 lines under Category (2) documenting VS Code 1.126 Edit-mode deprecation and reinforcing the chat.agent.enabled: true pin as doubly-aligned with platform direction (user policy AND platform default converged). Category (4) reference synced (1.117-1.121 features) → (1.117-1.127 features).
  • .github/instructions/tool-awareness.instructions.md — lastReviewed bumped 2026-06-23 → 2026-07-07.
  • .github/instructions/terminal-command-safety.instructions.md — lastReviewed bumped 2026-05-29 → 2026-07-07.

Brain contract

No change to min_extension_version (stays at 9.5.1), brain_subtrees, marker_schema, vscode_assets, or bootstrap_templates. The heir_owned addition is a new optional field that older Extensions ignore.

Heir upgrade

Run /upgrade (Extension ACT: Upgrade Brain) to receive the tool-awareness expansion + terminal-safety sandbox row + welcome-baseline $comment refresh. No behavior gate changes for existing rules; the mac/Linux sandbox note is informational context an agent uses when reasoning about terminal-command approval frequency on non-Windows heirs. No --allow-major needed.

Falsifier

2026-08-07 (30 days) per proposal § Falsifiability:

  • (a) If any 1.128 row I shipped turns out to be Insiders-only past 2026-07-05 → prune that row (rows are informational; per-row revert, not whole-batch rollback).
  • (b) If the macOS/Linux sandbox note misleads an agent into skipping the file-redirect fallback on a genuinely stripped-output case → revert the sandbox row.
  • (c) If the 1.126 Edit-mode note in welcome-baseline $comment produces heir confusion (heirs who deliberately used Edit mode with local overrides) → revert $comment refresh; chat.agent.enabled: true pin stands independently.

[3.8.0] - 2026-07-01

Minor [behaviour] — Hardens Edition bootstrap/upgrade and converter script safety, removes curator automation from the heir-shipped source tree, and raises the Node runtime baseline to 24+.

This release keeps the Edition contract stable while tightening the scripts that install, repair, and convert content inside heirs. It removes curator-owned automation from the Edition repo, clarifies user-vs-workspace VS Code settings ownership, makes upgrade rollback safer, preserves heir files inside known skill folders, and adds regression coverage for the failure modes that caused prior bootstrap/upgrade drift.

Removed

  • Removed Edition-owned .github/workflows/brain-qa.yml, .github/workflows/release-gate.yml, and .github/dependabot.yml. CI/update automation belongs outside the heir-shipped Edition brain; bootstrap, upgrade, and Extension install paths already treat workflows and Dependabot config as heir-owned and skip them, but the source repo no longer carries curator automation at all.

Changed

  • Clarified /configure-vscode and /configure-vscode-verify: user-scope settings are machine-level safe defaults, while workspace .vscode/settings.json remains the project-specific override layer handled by /configure-workspace.
  • Clarified /configure-workspace and /configure-workspace-verify: workspace settings intentionally override user-scope settings for the current project while preserving unrelated heir keys.
  • Removed chat.permissions.default from Edition's shipped .vscode/settings.json template so fresh bootstraps receive the safe baseline value from heir-workspace-settings-baseline.json instead of inheriting the Edition repo's own workspace preference.
  • Raised the Edition Node runtime baseline to Node.js 24+: package.json now declares engines.node >=24, and converter skill/script prerequisite text no longer advertises the older baseline.

[3.7.1] - 2026-06-30

Patch [behaviour] — Add markdown.styles: [".vscode/markdown-light.css"] to heir-workspace-settings-baseline.json with set-if-absent mode, closing the gap for heirs whose .vscode/settings.json predated bootstrap and never received the key from the first-install template.

Fresh heirs already received markdown.styles because Edition's own .vscode/settings.json (seeded as a bootstrap_template) carries it. But the bootstrap-template path is first-install-only — heirs whose .vscode/settings.json was preserved as HEIR_OWNED before the template seed (e.g., the heir already had a settings.json when bootstrap ran) never received markdown.styles and got default VS Code markdown preview styling instead of Edition's CSS. The baseline merge layer didn't carry the key either, so the gap persisted across upgrades.

v3.7.1 adds markdown.styles to the baseline with set-if-absent mode: heirs without the key get it (markdown preview now styled by Edition's CSS); heirs with a customized markdown.styles array (e.g., extended with their own CSS files) keep their array unchanged. Same pattern as chat.permissions.default.

Added

  • .github/config/heir-workspace-settings-baseline.json — new entry markdown.styles: [".vscode/markdown-light.css"] in settings; matching entry markdown.styles: "set-if-absent" in mergeMode. spec_version bumped 1.1 → 1.2. $comment block documents the rationale (closes HEIR_OWNED-settings-predates-bootstrap-template gap; preserves heir-custom CSS arrays).

Changed

  • .github/config/edition-manifest.json regenerated; edition_version 3.7.0 → 3.7.1; no shape change otherwise.

Heir-visible behaviour delta

  • Heirs running ACT: Upgrade Brain or /configure-workspace or node .github/scripts/upgrade-self.cjs --apply who currently have no markdown.styles will get it added on next upgrade; markdown preview will use Edition's light CSS.
  • Heirs with a customized markdown.styles array (any value) are untouched (set-if-absent semantics).
  • Heirs who deliberately want default VS Code styling: remove the key after upgrade; future upgrades will not re-add it because their setting is now non-absent (would be null if explicitly removed, which counts as "key present" under set-if-absent).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec 1.4. No Extension republish required — static-fetch (ADR-009) delivers v3.7.1 to heirs at next upgrade.

Falsifier

2026-09-30 (90 days, shared with v3.7.0 falsifier) or sooner if: (a) the merger's set-if-absent mode handles arrays differently than expected and heir-custom markdown.styles arrays get clobbered; (b) heirs report markdown.styles not being added when their .vscode/settings.json lacks the key; (c) the value [".vscode/markdown-light.css"] proves wrong relative to where the CSS actually lives.

[3.7.0] - 2026-06-30

Minor [behaviour] — New /configure-workspace and /configure-workspace-verify prompts close the workspace-scope gap: bootstrap + upgrade already install workspace .vscode/ correctly, but until now there was no prompt-driven recovery path for heirs whose .vscode/markdown-light.css or discovery-location keys went missing.

Until v3.7.0, /configure-vscode (user-scope) and /configure-vscode-verify (user-scope audit) had no workspace-scop...

Read more

v3.8.0

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 01 Jul 15:20

Changelog

All notable changes to Alex ACT Edition.

[Unreleased]

[3.8.0] - 2026-07-01

Minor [behaviour] — Hardens Edition bootstrap/upgrade and converter script safety, removes curator automation from the heir-shipped source tree, and raises the Node runtime baseline to 24+.

This release keeps the Edition contract stable while tightening the scripts that install, repair, and convert content inside heirs. It removes curator-owned automation from the Edition repo, clarifies user-vs-workspace VS Code settings ownership, makes upgrade rollback safer, preserves heir files inside known skill folders, and adds regression coverage for the failure modes that caused prior bootstrap/upgrade drift.

Removed

  • Removed Edition-owned .github/workflows/brain-qa.yml, .github/workflows/release-gate.yml, and .github/dependabot.yml. CI/update automation belongs outside the heir-shipped Edition brain; bootstrap, upgrade, and Extension install paths already treat workflows and Dependabot config as heir-owned and skip them, but the source repo no longer carries curator automation at all.

Changed

  • Clarified /configure-vscode and /configure-vscode-verify: user-scope settings are machine-level safe defaults, while workspace .vscode/settings.json remains the project-specific override layer handled by /configure-workspace.
  • Clarified /configure-workspace and /configure-workspace-verify: workspace settings intentionally override user-scope settings for the current project while preserving unrelated heir keys.
  • Removed chat.permissions.default from Edition's shipped .vscode/settings.json template so fresh bootstraps receive the safe baseline value from heir-workspace-settings-baseline.json instead of inheriting the Edition repo's own workspace preference.
  • Raised the Edition Node runtime baseline to Node.js 24+: package.json now declares engines.node >=24, and converter skill/script prerequisite text no longer advertises the older baseline.

[3.7.1] - 2026-06-30

Patch [behaviour] — Add markdown.styles: [".vscode/markdown-light.css"] to heir-workspace-settings-baseline.json with set-if-absent mode, closing the gap for heirs whose .vscode/settings.json predated bootstrap and never received the key from the first-install template.

Fresh heirs already received markdown.styles because Edition's own .vscode/settings.json (seeded as a bootstrap_template) carries it. But the bootstrap-template path is first-install-only — heirs whose .vscode/settings.json was preserved as HEIR_OWNED before the template seed (e.g., the heir already had a settings.json when bootstrap ran) never received markdown.styles and got default VS Code markdown preview styling instead of Edition's CSS. The baseline merge layer didn't carry the key either, so the gap persisted across upgrades.

v3.7.1 adds markdown.styles to the baseline with set-if-absent mode: heirs without the key get it (markdown preview now styled by Edition's CSS); heirs with a customized markdown.styles array (e.g., extended with their own CSS files) keep their array unchanged. Same pattern as chat.permissions.default.

Added

  • .github/config/heir-workspace-settings-baseline.json — new entry markdown.styles: [".vscode/markdown-light.css"] in settings; matching entry markdown.styles: "set-if-absent" in mergeMode. spec_version bumped 1.1 → 1.2. $comment block documents the rationale (closes HEIR_OWNED-settings-predates-bootstrap-template gap; preserves heir-custom CSS arrays).

Changed

  • .github/config/edition-manifest.json regenerated; edition_version 3.7.0 → 3.7.1; no shape change otherwise.

Heir-visible behaviour delta

  • Heirs running ACT: Upgrade Brain or /configure-workspace or node .github/scripts/upgrade-self.cjs --apply who currently have no markdown.styles will get it added on next upgrade; markdown preview will use Edition's light CSS.
  • Heirs with a customized markdown.styles array (any value) are untouched (set-if-absent semantics).
  • Heirs who deliberately want default VS Code styling: remove the key after upgrade; future upgrades will not re-add it because their setting is now non-absent (would be null if explicitly removed, which counts as "key present" under set-if-absent).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec 1.4. No Extension republish required — static-fetch (ADR-009) delivers v3.7.1 to heirs at next upgrade.

Falsifier

2026-09-30 (90 days, shared with v3.7.0 falsifier) or sooner if: (a) the merger's set-if-absent mode handles arrays differently than expected and heir-custom markdown.styles arrays get clobbered; (b) heirs report markdown.styles not being added when their .vscode/settings.json lacks the key; (c) the value [".vscode/markdown-light.css"] proves wrong relative to where the CSS actually lives.

[3.7.0] - 2026-06-30

Minor [behaviour] — New /configure-workspace and /configure-workspace-verify prompts close the workspace-scope gap: bootstrap + upgrade already install workspace .vscode/ correctly, but until now there was no prompt-driven recovery path for heirs whose .vscode/markdown-light.css or discovery-location keys went missing.

Until v3.7.0, /configure-vscode (user-scope) and /configure-vscode-verify (user-scope audit) had no workspace-scope siblings. Heirs that cloned a repo with .vscode/ git-ignored, deleted assets accidentally, or lost the discovery keys had to run ACT: Upgrade Brain (Extension) or node .github/scripts/upgrade-self.cjs --apply (script) to recover — a full upgrade cycle for what's really an asset-refresh problem. The new pair gives heirs a targeted recovery surface that matches the user-scope pair shape (three-shell payload, single source of truth from .github/config/*.json, idempotent, heir-only).

Added

  • .github/prompts/configure-workspace.prompt.md — heir-only prompt that refreshes EDITION_OWNED vscode_assets (e.g. markdown-light.css) on every invocation, seeds HEIR_OWNED bootstrap_templates with .vscode/ prefix if missing (extensions.json, settings.json), and per-key merges heir-workspace-settings-baseline.json into .vscode/settings.json (respects mergeMode — set-if-absent keys like chat.permissions.default are preserved if the heir already set them). Source files fetched from GitHub raw at the pinned v<edition_version> tag (post-ADR-009 static-fetch pattern). bash/zsh + PowerShell reference commands.
  • .github/prompts/configure-workspace-verify.prompt.md — read-only audit. Reports which vscode_assets are missing, which bootstrap_templates (.vscode/-prefixed) are missing, and which baseline keys are compliant / drifted / missing in .vscode/settings.json. Recommends /configure-workspace only if drift is found.

Changed

  • .github/prompts/configure-vscode.prompt.md — cross-links to /configure-workspace for workspace-scope; Guardrail clarified that workspace-scope is owned by the new prompt. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/configure-vscode-verify.prompt.md — cross-links to /configure-workspace-verify. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/welcome.prompt.md step 5 — inserted /configure-workspace-verify → /configure-workspace recovery step between /configure-vscode and "Start a real chat". Clarifies that bootstrap already installs the workspace assets and this pair is the recovery path.
  • .github/config/edition-manifest.json regenerated — prompts 27 → 29 (the two new prompts added); edition_version 3.6.3 → 3.7.0.

Heir-visible behaviour delta

  • Two new slash commands: /configure-workspace and /configure-workspace-verify. Both refuse outside a heir workspace (require .github/.act-heir.json).
  • /welcome next-steps now has 4 items instead of 3.
  • Zero change to bootstrap or upgrade scripts — they already install workspace .vscode/ correctly (verified empirically against v3.6.3 in the 2026-06-30 investigation).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-30 (90 days) or sooner if any of the following fires: (a) the new prompts produce results that diverge from bootstrap-heir.cjs / upgrade-self.cjs for the same heir; (b) heirs report the prompts adding files that don't match Edition at the pinned tag; (c) the per-key merge logic doesn't respect mergeMode: set-if-absent and overwrites heir-chosen permission levels; (d) the GitHub raw URL pattern for Edition releases changes and the prompts can't fetch sources.

[3.6.3] - 2026-06-29

Patch [behaviour] — Direct bootstrap/upgrade now apply the ownership contract consistently: BOOTSTRAP_TEMPLATES is the only seeded heir-owned subset, broad HEIR_OWNED paths are never seeded from Edition, and upgrades seed missing templates while refreshing EDITION_OWNED assets.

Follow-up to v3.6.2 and the same-day Extension v9.5.6 investigation. The earlier v3.6.2 patch fixed direct-script upgrades refreshing .vscode/markdown-light.css, but bootstrap-heir.cjs still seeded every HEIR_OWNED path from Edition. That meant a fresh direct bootstrap could copy Edition's curator-side .github/workflows/** and .github/dependabot.yml into a heir — the same leak class found in the Extension path. v3.6.3 makes the direct scripts obey the same policy as the manifest: BOOTSTRAP_TEMPLATES is the explicit safe subset; the rest of HEIR_OWNED is heir territory only.

Fixed

  • .github/scripts/bootstrap-heir.cjs — imports BOOTSTRAP_TEMPLATES instead of HEIR_OWNED for first-install seeding. Fresh direct bootstraps now seed only .github/config/cognitive-config.json, .vscode/extensions.json, and `.vsc...
Read more

v3.7.1

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 30 Jun 15:09

Changelog

All notable changes to Alex ACT Edition.

[Unreleased]

[3.7.1] - 2026-06-30

Patch [behaviour] — Add markdown.styles: [".vscode/markdown-light.css"] to heir-workspace-settings-baseline.json with set-if-absent mode, closing the gap for heirs whose .vscode/settings.json predated bootstrap and never received the key from the first-install template.

Fresh heirs already received markdown.styles because Edition's own .vscode/settings.json (seeded as a bootstrap_template) carries it. But the bootstrap-template path is first-install-only — heirs whose .vscode/settings.json was preserved as HEIR_OWNED before the template seed (e.g., the heir already had a settings.json when bootstrap ran) never received markdown.styles and got default VS Code markdown preview styling instead of Edition's CSS. The baseline merge layer didn't carry the key either, so the gap persisted across upgrades.

v3.7.1 adds markdown.styles to the baseline with set-if-absent mode: heirs without the key get it (markdown preview now styled by Edition's CSS); heirs with a customized markdown.styles array (e.g., extended with their own CSS files) keep their array unchanged. Same pattern as chat.permissions.default.

Added

  • .github/config/heir-workspace-settings-baseline.json — new entry markdown.styles: [".vscode/markdown-light.css"] in settings; matching entry markdown.styles: "set-if-absent" in mergeMode. spec_version bumped 1.1 → 1.2. $comment block documents the rationale (closes HEIR_OWNED-settings-predates-bootstrap-template gap; preserves heir-custom CSS arrays).

Changed

  • .github/config/edition-manifest.json regenerated; edition_version 3.7.0 → 3.7.1; no shape change otherwise.

Heir-visible behaviour delta

  • Heirs running ACT: Upgrade Brain or /configure-workspace or node .github/scripts/upgrade-self.cjs --apply who currently have no markdown.styles will get it added on next upgrade; markdown preview will use Edition's light CSS.
  • Heirs with a customized markdown.styles array (any value) are untouched (set-if-absent semantics).
  • Heirs who deliberately want default VS Code styling: remove the key after upgrade; future upgrades will not re-add it because their setting is now non-absent (would be null if explicitly removed, which counts as "key present" under set-if-absent).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec 1.4. No Extension republish required — static-fetch (ADR-009) delivers v3.7.1 to heirs at next upgrade.

Falsifier

2026-09-30 (90 days, shared with v3.7.0 falsifier) or sooner if: (a) the merger's set-if-absent mode handles arrays differently than expected and heir-custom markdown.styles arrays get clobbered; (b) heirs report markdown.styles not being added when their .vscode/settings.json lacks the key; (c) the value [".vscode/markdown-light.css"] proves wrong relative to where the CSS actually lives.

[3.7.0] - 2026-06-30

Minor [behaviour] — New /configure-workspace and /configure-workspace-verify prompts close the workspace-scope gap: bootstrap + upgrade already install workspace .vscode/ correctly, but until now there was no prompt-driven recovery path for heirs whose .vscode/markdown-light.css or discovery-location keys went missing.

Until v3.7.0, /configure-vscode (user-scope) and /configure-vscode-verify (user-scope audit) had no workspace-scope siblings. Heirs that cloned a repo with .vscode/ git-ignored, deleted assets accidentally, or lost the discovery keys had to run ACT: Upgrade Brain (Extension) or node .github/scripts/upgrade-self.cjs --apply (script) to recover — a full upgrade cycle for what's really an asset-refresh problem. The new pair gives heirs a targeted recovery surface that matches the user-scope pair shape (three-shell payload, single source of truth from .github/config/*.json, idempotent, heir-only).

Added

  • .github/prompts/configure-workspace.prompt.md — heir-only prompt that refreshes EDITION_OWNED vscode_assets (e.g. markdown-light.css) on every invocation, seeds HEIR_OWNED bootstrap_templates with .vscode/ prefix if missing (extensions.json, settings.json), and per-key merges heir-workspace-settings-baseline.json into .vscode/settings.json (respects mergeMode — set-if-absent keys like chat.permissions.default are preserved if the heir already set them). Source files fetched from GitHub raw at the pinned v<edition_version> tag (post-ADR-009 static-fetch pattern). bash/zsh + PowerShell reference commands.
  • .github/prompts/configure-workspace-verify.prompt.md — read-only audit. Reports which vscode_assets are missing, which bootstrap_templates (.vscode/-prefixed) are missing, and which baseline keys are compliant / drifted / missing in .vscode/settings.json. Recommends /configure-workspace only if drift is found.

Changed

  • .github/prompts/configure-vscode.prompt.md — cross-links to /configure-workspace for workspace-scope; Guardrail clarified that workspace-scope is owned by the new prompt. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/configure-vscode-verify.prompt.md — cross-links to /configure-workspace-verify. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/welcome.prompt.md step 5 — inserted /configure-workspace-verify → /configure-workspace recovery step between /configure-vscode and "Start a real chat". Clarifies that bootstrap already installs the workspace assets and this pair is the recovery path.
  • .github/config/edition-manifest.json regenerated — prompts 27 → 29 (the two new prompts added); edition_version 3.6.3 → 3.7.0.

Heir-visible behaviour delta

  • Two new slash commands: /configure-workspace and /configure-workspace-verify. Both refuse outside a heir workspace (require .github/.act-heir.json).
  • /welcome next-steps now has 4 items instead of 3.
  • Zero change to bootstrap or upgrade scripts — they already install workspace .vscode/ correctly (verified empirically against v3.6.3 in the 2026-06-30 investigation).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-30 (90 days) or sooner if any of the following fires: (a) the new prompts produce results that diverge from bootstrap-heir.cjs / upgrade-self.cjs for the same heir; (b) heirs report the prompts adding files that don't match Edition at the pinned tag; (c) the per-key merge logic doesn't respect mergeMode: set-if-absent and overwrites heir-chosen permission levels; (d) the GitHub raw URL pattern for Edition releases changes and the prompts can't fetch sources.

[3.6.3] - 2026-06-29

Patch [behaviour] — Direct bootstrap/upgrade now apply the ownership contract consistently: BOOTSTRAP_TEMPLATES is the only seeded heir-owned subset, broad HEIR_OWNED paths are never seeded from Edition, and upgrades seed missing templates while refreshing EDITION_OWNED assets.

Follow-up to v3.6.2 and the same-day Extension v9.5.6 investigation. The earlier v3.6.2 patch fixed direct-script upgrades refreshing .vscode/markdown-light.css, but bootstrap-heir.cjs still seeded every HEIR_OWNED path from Edition. That meant a fresh direct bootstrap could copy Edition's curator-side .github/workflows/** and .github/dependabot.yml into a heir — the same leak class found in the Extension path. v3.6.3 makes the direct scripts obey the same policy as the manifest: BOOTSTRAP_TEMPLATES is the explicit safe subset; the rest of HEIR_OWNED is heir territory only.

Fixed

  • .github/scripts/bootstrap-heir.cjs — imports BOOTSTRAP_TEMPLATES instead of HEIR_OWNED for first-install seeding. Fresh direct bootstraps now seed only .github/config/cognitive-config.json, .vscode/extensions.json, and .vscode/settings.json; workflows, dependabot, ISSUE_TEMPLATE, episodic, and local namespaces are no longer copied from Edition.
  • .github/scripts/upgrade-self.cjs — .github/ subtree copy now skips any source file matching HEIR_OWNED, except entries explicitly listed in BOOTSTRAP_TEMPLATES. Missing templates are seeded after restore, and .vscode/markdown-light.css still refreshes via the v3.6.2 Step 3.5 path.

Heir-visible behaviour delta

  • Fresh direct bootstrap: no Edition workflows or dependabot.yml land in heirs.
  • Direct upgrade: no new Edition workflows or dependabot.yml land in heirs. Existing heir-owned workflows remain preserved.
  • Missing bootstrap templates are repaired on upgrade when absent; existing heir-owned settings/extensions files are not clobbered.

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-29 (90 days) or sooner if a direct bootstrap/upgrade seeds any broad HEIR_OWNED file from Edition (.github/workflows/**, .github/dependabot.yml, .github/ISSUE_TEMPLATE/**, .github/episodic/**, or local/**) or fails to seed a listed BOOTSTRAP_TEMPLATES entry.

[3.6.2] - 2026-06-29

Patch [behaviour] — upgrade-self.cjs now refreshes EDITION_OWNED files outside .github/. Closes heir feedback 2026-06-27-machine-reset-vscode-assets-not-copied-on-bootstrap-or-upgrade.md.

The upgrade path's Step 3 has always done copyDirRecursive(editionGh, .github) — refreshing only the .github/ subtree. EDITION_OWNED has carried .vscode/markdown-light.css since the entry was added, but it was never refreshed on upgrade because the script's design treated anything outside .github/ as invisible. Heirs running upgrade-self.cjs carried whatever CSS they had at bootstrap forever; verified machine-reset heir had a 16,628-byte stale copy vs Edition's curren...

Read more

v3.7.0

Choose a tag to compare

@fabioc-aloha fabioc-aloha released this 30 Jun 15:03

Changelog

All notable changes to Alex ACT Edition.

[Unreleased]

[3.7.0] - 2026-06-30

Minor [behaviour] — New /configure-workspace and /configure-workspace-verify prompts close the workspace-scope gap: bootstrap + upgrade already install workspace .vscode/ correctly, but until now there was no prompt-driven recovery path for heirs whose .vscode/markdown-light.css or discovery-location keys went missing.

Until v3.7.0, /configure-vscode (user-scope) and /configure-vscode-verify (user-scope audit) had no workspace-scope siblings. Heirs that cloned a repo with .vscode/ git-ignored, deleted assets accidentally, or lost the discovery keys had to run ACT: Upgrade Brain (Extension) or node .github/scripts/upgrade-self.cjs --apply (script) to recover — a full upgrade cycle for what's really an asset-refresh problem. The new pair gives heirs a targeted recovery surface that matches the user-scope pair shape (three-shell payload, single source of truth from .github/config/*.json, idempotent, heir-only).

Added

  • .github/prompts/configure-workspace.prompt.md — heir-only prompt that refreshes EDITION_OWNED vscode_assets (e.g. markdown-light.css) on every invocation, seeds HEIR_OWNED bootstrap_templates with .vscode/ prefix if missing (extensions.json, settings.json), and per-key merges heir-workspace-settings-baseline.json into .vscode/settings.json (respects mergeMode — set-if-absent keys like chat.permissions.default are preserved if the heir already set them). Source files fetched from GitHub raw at the pinned v<edition_version> tag (post-ADR-009 static-fetch pattern). bash/zsh + PowerShell reference commands.
  • .github/prompts/configure-workspace-verify.prompt.md — read-only audit. Reports which vscode_assets are missing, which bootstrap_templates (.vscode/-prefixed) are missing, and which baseline keys are compliant / drifted / missing in .vscode/settings.json. Recommends /configure-workspace only if drift is found.

Changed

  • .github/prompts/configure-vscode.prompt.md — cross-links to /configure-workspace for workspace-scope; Guardrail clarified that workspace-scope is owned by the new prompt. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/configure-vscode-verify.prompt.md — cross-links to /configure-workspace-verify. lastReviewed bumped 2026-06-10 → 2026-06-30.
  • .github/prompts/welcome.prompt.md step 5 — inserted /configure-workspace-verify → /configure-workspace recovery step between /configure-vscode and "Start a real chat". Clarifies that bootstrap already installs the workspace assets and this pair is the recovery path.
  • .github/config/edition-manifest.json regenerated — prompts 27 → 29 (the two new prompts added); edition_version 3.6.3 → 3.7.0.

Heir-visible behaviour delta

  • Two new slash commands: /configure-workspace and /configure-workspace-verify. Both refuse outside a heir workspace (require .github/.act-heir.json).
  • /welcome next-steps now has 4 items instead of 3.
  • Zero change to bootstrap or upgrade scripts — they already install workspace .vscode/ correctly (verified empirically against v3.6.3 in the 2026-06-30 investigation).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-30 (90 days) or sooner if any of the following fires: (a) the new prompts produce results that diverge from bootstrap-heir.cjs / upgrade-self.cjs for the same heir; (b) heirs report the prompts adding files that don't match Edition at the pinned tag; (c) the per-key merge logic doesn't respect mergeMode: set-if-absent and overwrites heir-chosen permission levels; (d) the GitHub raw URL pattern for Edition releases changes and the prompts can't fetch sources.

[3.6.3] - 2026-06-29

Patch [behaviour] — Direct bootstrap/upgrade now apply the ownership contract consistently: BOOTSTRAP_TEMPLATES is the only seeded heir-owned subset, broad HEIR_OWNED paths are never seeded from Edition, and upgrades seed missing templates while refreshing EDITION_OWNED assets.

Follow-up to v3.6.2 and the same-day Extension v9.5.6 investigation. The earlier v3.6.2 patch fixed direct-script upgrades refreshing .vscode/markdown-light.css, but bootstrap-heir.cjs still seeded every HEIR_OWNED path from Edition. That meant a fresh direct bootstrap could copy Edition's curator-side .github/workflows/** and .github/dependabot.yml into a heir — the same leak class found in the Extension path. v3.6.3 makes the direct scripts obey the same policy as the manifest: BOOTSTRAP_TEMPLATES is the explicit safe subset; the rest of HEIR_OWNED is heir territory only.

Fixed

  • .github/scripts/bootstrap-heir.cjs — imports BOOTSTRAP_TEMPLATES instead of HEIR_OWNED for first-install seeding. Fresh direct bootstraps now seed only .github/config/cognitive-config.json, .vscode/extensions.json, and .vscode/settings.json; workflows, dependabot, ISSUE_TEMPLATE, episodic, and local namespaces are no longer copied from Edition.
  • .github/scripts/upgrade-self.cjs — .github/ subtree copy now skips any source file matching HEIR_OWNED, except entries explicitly listed in BOOTSTRAP_TEMPLATES. Missing templates are seeded after restore, and .vscode/markdown-light.css still refreshes via the v3.6.2 Step 3.5 path.

Heir-visible behaviour delta

  • Fresh direct bootstrap: no Edition workflows or dependabot.yml land in heirs.
  • Direct upgrade: no new Edition workflows or dependabot.yml land in heirs. Existing heir-owned workflows remain preserved.
  • Missing bootstrap templates are repaired on upgrade when absent; existing heir-owned settings/extensions files are not clobbered.

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-29 (90 days) or sooner if a direct bootstrap/upgrade seeds any broad HEIR_OWNED file from Edition (.github/workflows/**, .github/dependabot.yml, .github/ISSUE_TEMPLATE/**, .github/episodic/**, or local/**) or fails to seed a listed BOOTSTRAP_TEMPLATES entry.

[3.6.2] - 2026-06-29

Patch [behaviour] — upgrade-self.cjs now refreshes EDITION_OWNED files outside .github/. Closes heir feedback 2026-06-27-machine-reset-vscode-assets-not-copied-on-bootstrap-or-upgrade.md.

The upgrade path's Step 3 has always done copyDirRecursive(editionGh, .github) — refreshing only the .github/ subtree. EDITION_OWNED has carried .vscode/markdown-light.css since the entry was added, but it was never refreshed on upgrade because the script's design treated anything outside .github/ as invisible. Heirs running upgrade-self.cjs carried whatever CSS they had at bootstrap forever; verified machine-reset heir had a 16,628-byte stale copy vs Edition's current 15,856-byte canonical. Correction from later 2026-06-29 investigation: the Extension was also affected, but for a different reason — its production cmdBootstrap / cmdUpgrade loops did not call lib/edition-install.js installFromTarball, so the manifest logic was tested but dead in production. See Extension v9.5.6 and Edition v3.6.3.

Fixed

  • .github/scripts/upgrade-self.cjs — new Step 3.5 inserted between brain install and heir-owned restore. Iterates EDITION_OWNED.filter(p => !p.startsWith('.github/')), expands each pattern against the fetched Edition, copies matching files into the heir root. Today filters to exactly one entry (.vscode/markdown-light.css); future-proof for any new non-.github/ EDITION_OWNED entries. HEIR_OWNED .vscode/settings.json and .vscode/extensions.json are preserved by the existing backup/restore flow (they are not in EDITION_OWNED). Summary line "Edition assets refreshed outside .github/: N" reports the count.

Heir-visible behaviour delta

  • Next /upgrade from any 3.x release: heirs whose .vscode/markdown-light.css differs from the canonical Edition copy will see the file refreshed. No other .vscode/ file is touched. No .github/ behavior change.
  • bootstrap-heir.cjs is unchanged — it already copies the CSS correctly via the EDITION_OWNED literal-path branch (verified empirically 2026-06-29).

Brain contract

Unchanged: min_extension_version: 9.5.1, brain_subtrees: [.github], marker_schema: v2, manifest spec stays 1.4.

Falsifier

2026-09-29 (90 days) or sooner if (a) a heir reports the upgrade refreshes a HEIR_OWNED .vscode/ file (filter is too broad); (b) a heir reports upgrade fails because Step 3.5 cannot find a declared file; (c) the deeper contract convergence (manifest vscode_assets vs registry EDITION_OWNED) surfaces a defect this fix masked.

[3.6.1] - 2026-06-23

Patch [behaviour] — Brain contract: min_extension_version 9.4.0 → 9.5.1. Closes 2 unresolved heir feedback items by enforcing the Extension floor that already carries the fixes.

The 2026-06-09 (vscode_assets handling) and 2026-06-10 (HEIR_OWNED source filter) install-contract fixes were shipped in Extension v9.5.0 and v9.5.1 respectively, but min_extension_version was left at 9.4.0. Heirs running v9.4.x silently missed both protections — confirmed by 2 feedback files in AI-Memory/feedback/ from 2026-06-12 (anychat heir): (a) .github/workflows/{brain-qa,release-gate}.yml + dependabot.yml shipped to heir repos and failed CI by construction; (b) .vscode/markdown-light.css was EDITION_OWNED but never installed on bootstrap. Bumping the floor to 9.5.1 turns these silent failures into explicit refusals ("update the Extension first") and the next /upgrade from a v9.5.1+ heir lands both fixes automatically.

Brain contract

  • min_extension_version: 9.4.0 → 9.5.1 — breaking floor for heirs whose Extension is older than v9.5.1; they s...
Read more