chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation - #256

Closed
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima
Closed

chore(fleet): re-home the profile/skill tree to the armonissima vault; multi-root skill validation#256
aarontrowbridge wants to merge 1 commit into
chore/skills-into-amicodefrom
chore/skills-to-armonissima

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

What

The internal-content half of the amico-plugin dissolution (stacked on #255, the public half). profiles/, gates/, and the 28 internal skills now live in the armonissima team vault (pushed as armonissima@3d78491); mount presence is the eligibility proof — the same pattern as the retired plugin checkout, carried by the vault sync instead of a git clone.

The real change: multi-root skill validation in profile_verb

The shipped fleet presets compose both skill tiers — e.g. researcher stages amico-vault + hypothesis-review (public) alongside internal skills. A single --skills-dir cannot name two roots, and the old default (~/harmoniqs/amico-plugin/profiles) never existed on main, which is why the 12 shipped-preset tests were permanent skips.

  • --skills-dir is now repeatable; any explicit flag(s) replace the defaults.
  • Skill existence + surface: is a union check across roots, first-hit wins (matching the library resolver).
  • Defaults: the vault's skills/ + the extension's in-repo public library when resolvable from the installed bundle layout (bin/dist/amico.js../../skills); self-disables in dev/CI.

Result: the 12 preset tests run for the first time and pass — amico-run suite is 952 passed / 0 skipped (was 940 + 12 skips).

Canonicity sweep

The mounts resolver (amico-run/src/mounts.ts) and mount_store.ts were ported from the Claude session-start hook with a "parity oracle" relationship. The hook is retired with the plugin repo — the TS ports are now declared canonical and the fixtures are the spec. profile_verb's lint-port comments re-point at the vault tree; lens_registry's deviation note resolves to "the design"; verbs.ts / ledger_dispatch.ts comments updated.

Verification

  • amico-run: 952 passed / 0 skipped; extension: 868 passed / 1 skipped; both typechecks clean.
  • The shipped armonissima presets (researcher, experimenter, engineer, librarian-insight, dreamer, default) resolve in both dispatch and spool-up modes against the two-root union.

Follow-ups

  • wip/fleet-profiles on amico-plugin should die unmerged — its content landed in the vault.
  • Phase 3: plugin tombstone + archive after soak; vault-sync daemon sources move to the amico repo.

…; multi-root skill validation
The internal content half of the amico-plugin dissolution (the public half is
PR #255): profiles/, gates/, and the internal skill library now live in the
armonissima team vault (pushed as armonissima@3d78491); mount presence is the
eligibility proof, same pattern as the retired plugin checkout.
profile_verb: the shipped fleet presets compose BOTH tiers (researcher names
amico-vault + hypothesis-review — public), and a single --skills-dir cannot
name two roots. --skills-dir is now REPEATABLE; skill existence/surface is a
union check across roots (first-hit wins, matching the library resolver);
defaults = the vault skills dir + the extension's in-repo public library when
resolvable from the installed bundle layout (bin/dist -> ../../skills). This
lets the 12 long-skipped shipped-preset tests RUN for the first time (the old
default root never existed on main) — they pass.
Canonicity sweep: the mounts resolver + mount_store were ported from the
Claude session-start hook; with the hook retired, the TS ports are the source
of truth and the fixtures are the spec. profile_verb's lint-port comments
re-point at the vault tree; lens_registry's deviation note resolves to "the
design"; verbs/ledger_dispatch comments updated.
Verified: amico-run suite 952 passed / 0 skipped (was 940 + 12 skips);
extension suite 868 passed; typecheck clean.
Sign up for freeto 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.

1 participant

@aarontrowbridge