fix(mosaic): register canonical framework skills
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
This commit is contained in:
@@ -35,6 +35,8 @@ CONTRIBUTING.md
|
|||||||
defaults/**
|
defaults/**
|
||||||
examples/**
|
examples/**
|
||||||
guides/**
|
guides/**
|
||||||
|
# Shipped framework subtree — canonical skills are upgrade-reconciled.
|
||||||
|
skills/**
|
||||||
install.sh
|
install.sh
|
||||||
install.ps1
|
install.ps1
|
||||||
LICENSE
|
LICENSE
|
||||||
@@ -67,6 +69,9 @@ policy/**
|
|||||||
memory/**
|
memory/**
|
||||||
sources/**
|
sources/**
|
||||||
credentials/**
|
credentials/**
|
||||||
|
# Operator-authored/customized skills live separately from canonical skills/ and
|
||||||
|
# must remain structurally unprunable even as skills/** is framework-owned.
|
||||||
|
skills-local/**
|
||||||
# Secret-bearing operator file INSIDE the framework-owned tools/ subtree.
|
# Secret-bearing operator file INSIDE the framework-owned tools/ subtree.
|
||||||
# Listed explicitly so the deny-wins rule carves it out of tools/**.
|
# Listed explicitly so the deny-wins rule carves it out of tools/**.
|
||||||
tools/_lib/credentials.json
|
tools/_lib/credentials.json
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ const PROBE_PATHS = [
|
|||||||
'install.sh',
|
'install.sh',
|
||||||
'framework-manifest.txt',
|
'framework-manifest.txt',
|
||||||
'guides/E2E-DELIVERY.md',
|
'guides/E2E-DELIVERY.md',
|
||||||
|
'skills/mosaic-context-refresh/SKILL.md',
|
||||||
'tools/git/pr-create.sh',
|
'tools/git/pr-create.sh',
|
||||||
'tools/_lib/manifest.sh',
|
'tools/_lib/manifest.sh',
|
||||||
'defaults/SOUL.md',
|
'defaults/SOUL.md',
|
||||||
@@ -97,6 +98,7 @@ const PROBE_PATHS = [
|
|||||||
'memory/note.md',
|
'memory/note.md',
|
||||||
'sources/skills/x.md',
|
'sources/skills/x.md',
|
||||||
'credentials/c.json',
|
'credentials/c.json',
|
||||||
|
'skills-local/custom/SKILL.md',
|
||||||
'tools/_lib/credentials.json',
|
'tools/_lib/credentials.json',
|
||||||
'fleet/roster.yaml',
|
'fleet/roster.yaml',
|
||||||
'fleet/roster.json',
|
'fleet/roster.json',
|
||||||
|
|||||||
@@ -304,6 +304,11 @@ describe('manifest completeness against shipped framework tree', () => {
|
|||||||
expect(misclassified).toEqual([]);
|
expect(misclassified).toEqual([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('shipped canonical skills are framework-owned while local skills are operator-owned', () => {
|
||||||
|
expect(resolveOwnership(manifest, 'skills/mosaic-context-refresh/SKILL.md')).toBe('framework');
|
||||||
|
expect(resolveOwnership(manifest, 'skills-local/custom/SKILL.md')).toBe('operator');
|
||||||
|
});
|
||||||
|
|
||||||
it('the operator-owned surface from #791 resolves to operator', () => {
|
it('the operator-owned surface from #791 resolves to operator', () => {
|
||||||
const operatorPaths = [
|
const operatorPaths = [
|
||||||
'agents/coder0.conf',
|
'agents/coder0.conf',
|
||||||
@@ -313,6 +318,7 @@ describe('manifest completeness against shipped framework tree', () => {
|
|||||||
'SOUL.local.md',
|
'SOUL.local.md',
|
||||||
'USER.local.md',
|
'USER.local.md',
|
||||||
'STANDARDS.local.md',
|
'STANDARDS.local.md',
|
||||||
|
'skills-local/custom/SKILL.md',
|
||||||
'tools/_lib/credentials.json',
|
'tools/_lib/credentials.json',
|
||||||
'fleet/roster.yaml',
|
'fleet/roster.yaml',
|
||||||
'fleet/roster.json',
|
'fleet/roster.json',
|
||||||
|
|||||||
Reference in New Issue
Block a user