agents: Rocko row 147 packets r1, r2 and r2-before-142 (#1641)
Round 2 candidate 7a585aa9606863a0d44a26094b585160914e3d8fd5f13436b56470cd69e6d867,
packet manifest 4292da90162c801a9c56716a0539f8fa072e67e93e4f4d9a0f1e107b84b652ea,
base 02ee7f640. Filbert approved round 2 in comment 28707. Committed by Sage
for Rocko, who has no git access; secrets grep clean, no binaries (one empty file).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# Row 147 / #1641 — standard project record repository, round 1
|
||||
|
||||
Base `fba879f6a12060fd4934b8ae9347b15c76032689`. Detached candidate:
|
||||
`/mnt/storage/src/mosaic-stack-rocko-147-r1`. Reviewer Filbert; owner gate Sage.
|
||||
Source is uncommitted. No live paths, units, store, secrets, remote or push used.
|
||||
Row 138 waits for Filbert's 147 approval; row 143 is reassigned to Researcher (sage-0414).
|
||||
|
||||
## Result and interface
|
||||
|
||||
Previously a project had only its code `root`, with no shared record layout.
|
||||
`packages/project/` now defines layout 1, three closed package-owned JSON schemas,
|
||||
five validating templates, initializer, full layout checker and one agent writer.
|
||||
README.md and DESIGN.md document the exact shape and the shared API. Context is
|
||||
`{business, project, dataRoot}`. The separate repository resolves from optional
|
||||
business.projects[project].repo, otherwise dataRoot/projects/business/project.
|
||||
root remains the code checkout and cannot overlap the records repository.
|
||||
|
||||
`mosaic project init BUSINESS PROJECT` creates local main, writes the layout and
|
||||
commits as business.human. It refuses non-empty directories and undeclared
|
||||
projects. CLI init refuses agent environments. `mosaic project check` is local
|
||||
and read-only; it names every discovered problem and exits 2. No bus is needed.
|
||||
|
||||
The writer validates data, filename/ID agreement and actor shape before writing.
|
||||
It takes `{definition,instance}` from its trusted caller, authors a commit as
|
||||
`definition.instance` and commits only its requested record. The future broker
|
||||
must supply the authenticated actor; this library is not a second identity
|
||||
system. Agent paths under spec/ refuse. No spec citations, role grant, broker
|
||||
verb, harness tool, Console editor or migration belongs to this row.
|
||||
|
||||
Stricter-than-brief refusals approved in sage-0400: remote repositories and dirty
|
||||
repositories (including staged/untracked/ignored files and hidden index flags).
|
||||
These are named project-remote / project-dirty in the README and tested. They
|
||||
prevent agent commits from including human pending edits or contacting a remote.
|
||||
Other guards cover path confinement, symlinks/hardlinks, separate code/record
|
||||
roots, metadata identity, writer locking and unexpected git config. Git uses the
|
||||
existing bounded process-group runner, sanitized config/environment, disabled
|
||||
hooks/filters/fsmonitor/transports and explicit actor identity. A failed commit
|
||||
with unchanged HEAD restores only the writer's file/index; uncertain changed
|
||||
HEAD preserves evidence instead of rewinding. Writer locks do not serialize
|
||||
arbitrary human editors; callers must coordinate simultaneous saves.
|
||||
|
||||
Requirements/decisions begin empty, with an empty .gitkeep so their directories
|
||||
survive checkout. No fictional requirements or decisions are installed. JSON
|
||||
schemas stay in the package; project templates cannot replace them. Unknown
|
||||
schema keywords refuse rather than silently weaken a future schema. Records are
|
||||
bounded regular UTF-8 files without NULs, named by their IDs; check inspects the
|
||||
whole layout and reports bad records, wrong names and unknown paths separately.
|
||||
|
||||
## Scope additions — sage-0400, brief 10d4b526a / rev1396
|
||||
|
||||
- scripts/mosaic dispatches `project` to packages/cli/src/cli.mjs, tested by the
|
||||
real dispatcher in cli/tests/project.test.mjs.
|
||||
- scripts/stack-copy.sh includes packages/project. The real pinned-copy test
|
||||
checks source/schema/template presence and starts its real CLI/bus/Console
|
||||
fixture, so missing package dependencies fail. No live install or unit action.
|
||||
|
||||
The original brief base was8686c7e84. Rebuilt onfba879f6a after row145 changed
|
||||
cli.mjs; its plug-in imports/command remain. The one textual conflict was USAGE:
|
||||
both PLUGINS_USAGE and PROJECT_USAGE are retained, with no conflict markers.
|
||||
Sage sage-0410 confirms fba879f6a..dda7e31b0 is docs/agents only and explicitly
|
||||
keeps this base. No code from paused138 was carried into147.
|
||||
|
||||
## Evidence and scheduled gate
|
||||
|
||||
Focused single-file checks authorized by sage-0401, fixture-only local git:
|
||||
- project/tests/project.test.mjs: 14 passed, 0 failed.
|
||||
- business/tests/project-repo.test.mjs: 1 passed, 0 failed.
|
||||
- cli/tests/project.test.mjs: 3 passed, 0 failed.
|
||||
- cli/tests/stack-copy.test.mjs: 12 passed, 0 failed (real pinned-copy fixture).
|
||||
Red logs preserve the missing implementation before building. A fixture test
|
||||
initially named a nonexistent fixture.root and was corrected before treating
|
||||
CLI coverage as evidence; current rebased logs are authoritative.
|
||||
|
||||
50 mutants are prepared in mutants.py, one deliberate fault per check, with
|
||||
whole-process-group timeout cleanup. A timeout, syntax error or accidental import
|
||||
error is never a kill. The package-copy fault intentionally removes the package
|
||||
and is killed by artifact presence/runtime loading coverage; it is a packaging
|
||||
acceptance check. MUTANT_ONLY supports a selected retry; final report must cover
|
||||
all cases. Every source file restores its original bytes in finally.
|
||||
|
||||
Mutants, suites and scripts are NOT YET RUN. Waiting for Sage's explicit
|
||||
"slot yours" (sage-0410), after Researcher/146 priority. Owner gate belongs to
|
||||
Sage and runs after mutants. gate.py is an UNRUN suggested owner runner: touched
|
||||
project/business/CLI suites plus every scripts/test-*.sh. DOCKER_HOST is a dead
|
||||
socket except task/release, where it is unset for those runs only so Docker
|
||||
cases are not silently skipped. Sage can use their repository-wide gate instead.
|
||||
The runner stops on any failure; no automatic retry hides a flake. Two recurrences
|
||||
of #258/#261/#262/#263 in a gate stop and are reported. No Docker action so far.
|
||||
|
||||
Final mutant/gate counts, restored manifests and process/network cleanup must be
|
||||
appended here after authorized verification, before claiming review readiness.
|
||||
|
||||
## Mutant verification — sage-0428, 2026-10-15 23:21:48 UTC
|
||||
|
||||
Slot granted explicitly by Sage. Final sequential run killed 50/50, with no
|
||||
survivors, invalid mutants or timeouts. See mutants/table.md, results.json and
|
||||
per-check logs. The first attempt stopped at check20 because its replacement
|
||||
removed a loop body and caused SyntaxError; that is NOT counted as a kill.
|
||||
20-required-template-invalid-attempt.log preserves it. The mutant replacement
|
||||
was corrected to an empty statement and all 50 were rerun, green kills.
|
||||
|
||||
All 24 candidate hashes match the original manifest. The staged diff exactly
|
||||
matches pre-mutant-index.patch. No source/test changes were needed. Every test
|
||||
runner exited; the /proc cwd-scoped sweep found no node/chromium/python under
|
||||
this worktree. DOCKER_HOST was unix:///nonexistent.sock. No Docker used or
|
||||
network created. Sent Sage slot clear at the observed stamp above. Owner gate
|
||||
is pending; no suites/scripts were run by Rocko and no in-review move made.
|
||||
This section supersedes the earlier unrun/scheduled mutant status.
|
||||
@@ -0,0 +1,55 @@
|
||||
# Row 147 layout contract, version 1
|
||||
|
||||
Initial design base8686c7e84; candidate rebased ontofba879f6a; scope additions sage-0400 / brief10d4b526a. No live steps.
|
||||
|
||||
The separate local repository resolves from business.projects[project].repo,
|
||||
or dataRoot/projects/business.id/project. root remains the code checkout; the
|
||||
two paths must not overlap. IDs and normalized absolute paths are checked.
|
||||
|
||||
Layout:
|
||||
- project.json: layoutVersion=1, business, project, name, createdAt (canonical UTC).
|
||||
- spec/north-star.md: the human's Markdown north star.
|
||||
- docs/*.md (nested Markdown is accepted by check).
|
||||
- requirements/ID.json: recordVersion=1, id, title, text, status
|
||||
(draft, accepted, complete).
|
||||
- decisions/ID.json: recordVersion=1, id, question, options [{key,text}],
|
||||
recommendation, status (open, accepted, rejected), choice (null while open).
|
||||
Option keys are distinct, recommendation/closed choice name an option.
|
||||
- templates/{project,requirement,decision}.json and {document,north-star}.md.
|
||||
These are data/templates, never schemas; every JSON template validates against
|
||||
the package-owned schema. Empty requirement/decision directories use an empty
|
||||
.gitkeep, checked as a layout marker, so the layout survives checkout.
|
||||
|
||||
The package owns one closed JSON schema for project, requirement and decision.
|
||||
A small fail-closed validator implements only keywords those schemas use, and
|
||||
refuses unsupported schema keywords instead of ignoring a future constraint.
|
||||
No project-local schema is loaded. Markdown must be bounded UTF-8 without NULs.
|
||||
Check reports all discovered layout/record/name problems, rather than only the
|
||||
first. Unknown top-level paths, links and non-regular files refuse. .git is
|
||||
validated separately and never treated as a content directory.
|
||||
|
||||
Public APIs (packages/project/src/index.mjs):
|
||||
- projectRepo({business,project,dataRoot}) -> absolute repository path.
|
||||
- initProject(context) -> {repo,commit}; first commit is authored by business.human.
|
||||
- checkProject(context) -> {ok,repo,problems}; read-only, no bus/network.
|
||||
- validateRecord(kind,value) -> problem strings.
|
||||
- writeRecord({...context,path,record,author:{definition,instance}}) -> {repo,path,commit}.
|
||||
path is docs/NAME.md, requirements/ID.json or decisions/ID.json. Names match
|
||||
JSON IDs. spec/ is refused for every agent actor. The trusted caller supplies
|
||||
actor metadata; row138 binds it to the authenticated role. This package only
|
||||
validates the actor's shape, not a new identity/proof system.
|
||||
|
||||
Writer requires the entire project to pass check, a clean worktree/index and
|
||||
no remotes. It uses a per-repository exclusive writer lock, sanitized local git
|
||||
(no global/system config, hooks, filters, fsmonitor or transports), validates
|
||||
before writing, and commits only the requested record as definition.instance.
|
||||
It won't absorb pending human edits. Commit failure rolls back only its own
|
||||
uncommitted file/index when HEAD is unchanged; changed/uncertain HEAD refuses
|
||||
without destructive repair. Init refuses a non-empty directory and undeclared
|
||||
project. No remote is created; no git push/fetch exists in this package.
|
||||
|
||||
CLI uses the existing system/business loaders, then these APIs. Both commands
|
||||
are local: mosaic project init BUSINESS PROJECT and mosaic project check
|
||||
BUSINESS PROJECT. scripts/mosaic dispatch and stack-copy's package inclusion
|
||||
are the only scope additions. No broker/harness path, grants, spec commit
|
||||
citations, Console editor or schema change belongs to this row.
|
||||
@@ -0,0 +1,28 @@
|
||||
# Build-stage handoff — verification pending
|
||||
|
||||
- Row147 #1641, reviewer Filbert, gate owner Sage.
|
||||
- Claim rev1394. Brief re-pinned rev1396 (sage-0400), source10d4b526a.
|
||||
- Basefba879f6a12060fd4934b8ae9347b15c76032689; Sage0410 explicitly keeps
|
||||
this base because later refactor commits are docs/agents only.
|
||||
- Detached source /mnt/storage/src/mosaic-stack-rocko-147-r1, uncommitted.
|
||||
- Candidate manifest SHA-256:
|
||||
a7f53bc5fe0b67440084e48f706e4aa864f0b36ec9bcea05eec0d2787f75fc39.
|
||||
- 24/24 clean base+patch reconstruction hashes verify. Gate not yet run.
|
||||
- Focused project14, CLI3, business repo1, pinned-copy12 pass. No suites,
|
||||
scripts or mutants run; sage-0410 requires explicit "slot yours" first.
|
||||
- mutants.py contains50 planned checks, not results. Gate.py is an unrun
|
||||
suggested Sage owner runner. Researcher140 and Dewey146 have priority.
|
||||
- Own build-stage BUILD-LOG and SESSIONS entries committed through a temp
|
||||
index as81e59d25c (only these entries; concurrent seat edits preserved).
|
||||
Earlier paused138 line committed276965d6d; that also carried Researcher's
|
||||
concurrent22:44 line, accepted by Sage0412. No push.
|
||||
- Rows138 and143 remain held. No new spec scheme or live action implemented.
|
||||
- Source and packet have not been marked review-ready. Append final verification
|
||||
evidence before Sage's review-request move. Packet-manifest paths are relative
|
||||
to this directory; candidate-manifest paths are relative to repository root.
|
||||
|
||||
Update 2026-10-15 23:21:48 UTC: sage-0428 authorized the mutant batch.
|
||||
Final 50/50 killed; initial invalid20 corrected and the entire batch rerun.
|
||||
Candidate24/24 and staged blobs restored unchanged, runner sweep empty, no
|
||||
Docker. Slot returned to Sage for owner gate. Readiness/move waits for that
|
||||
result. Row143 is Researcher's; row138 design-only pending147 approval.
|
||||
@@ -0,0 +1 @@
|
||||
fba879f6a12060fd4934b8ae9347b15c76032689
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
b5c9ea8ff3a724a193316cc7fb2a4d362250dc3251fecd6952b5276f3f73a7a8 docs/TOOLS.md
|
||||
7c353b41808a46ac988547c6e0ceeee0727fea94c500afd7a7d0b7e2bf10cbbc packages/business/src/business.mjs
|
||||
eba8a16fe394299de78e981c106fc13a728da931b84aefe0d039c0c747214c98 packages/business/tests/project-repo.test.mjs
|
||||
68ca82be4a9ee7d39aa7c2c698c0181a48d4000839508b460eb3f01b6c0954a5 packages/cli/src/cli.mjs
|
||||
c10ef02af609cb5a075dca4b25092fd5b281eaa436b89bade218e0499a13a5fc packages/cli/src/project.mjs
|
||||
78bf2466b0edf3aa6e4d8e2e8bf293060df1356491eea370866753b4e312bf7d packages/cli/tests/project.test.mjs
|
||||
d393a46ae99767937a3ab28bbe54a81a849843cbe3f5f7373927a7219a861805 packages/cli/tests/stack-copy.test.mjs
|
||||
1640dc1c80ff0e78dc00ffdae8954fa3bebdaca5e7a1f8b973aef8af5cd77066 packages/project/README.md
|
||||
13664e88d0f233bcf18f05e75946e70a1f2a7ba8d099248b73936230cefadd8d packages/project/package.json
|
||||
925bb03ac99e5845e4bfa20b4561a331f034f88e187db82213df6602a7ceee4b packages/project/schemas/decision.schema.json
|
||||
f069c012e9660d5d0491a21f98e936b725f6818e1c3136dfec61b3c800bd58de packages/project/schemas/project.schema.json
|
||||
79a1e7b567af7162bb88ca69861075fc579a858e8aec4e49824ccdc370b690c3 packages/project/schemas/requirement.schema.json
|
||||
6534d25ac364390d98ba28baa093168de307f0ee0bc013f6fee6f26f6667e838 packages/project/src/git.mjs
|
||||
e0e9f57d085a052149c8816ff7bba9ef300f9f017d12080d9b0ecc6c293252bf packages/project/src/index.mjs
|
||||
79632f4c2bc0cbcda26113ad1ff025fb18d2876de334bea4f3a026ae09ae253c packages/project/src/paths.mjs
|
||||
e49ab5e825f0706da2f3c8dfcf33c1331a38d77ca2d35b03359ee68ea74652c5 packages/project/src/validate.mjs
|
||||
0b1985a131474a041ea96652a5035224144a51fb50f3d2406013f37596fa98fb packages/project/templates/decision.json
|
||||
5052534a4b89510d84a9b8815f933bd1c4a8912a91508b6dfe1764dac8c4f14a packages/project/templates/document.md
|
||||
24b7e3224dba45753e2d6139fcf05d2ed8c29d999752b02a637cfb8489fd9e0a packages/project/templates/north-star.md
|
||||
14d780b49cbda0c306ca38c1523ccd69d6bf40c73ab744c829e085ef610cd084 packages/project/templates/project.json
|
||||
682343c67c81ca244b07bf39723c328f80706ba4d957aa45601b2a64ceeeb215 packages/project/templates/requirement.json
|
||||
0b06ab6de44baf7ddd6c8a169fc2b44d173a00a5a94a96680e2e10ee97eee282 packages/project/tests/project.test.mjs
|
||||
b3845214d21cc5ac20c2ab268c4fff1cc88d48c3695f2da29207467eeb7982db scripts/mosaic
|
||||
ef037cfa4b0df63aec247e412212c627a3aa973b22766b673265f36726c88b1f scripts/stack-copy.sh
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Sage's owner-gate runner. Rocko has not run this without the test slot."""
|
||||
import pathlib,subprocess,os,signal,sys,json
|
||||
root=pathlib.Path(sys.argv[1] if len(sys.argv)>1 else '/mnt/storage/src/mosaic-stack-rocko-147-r1')
|
||||
out=pathlib.Path(__file__).resolve().parent/'gate';out.mkdir(exist_ok=True)
|
||||
steps=[]
|
||||
# Touched packages; Sage may use the repository-wide landing gate instead.
|
||||
for name in ['project','business','cli']:
|
||||
files=[str(f.relative_to(root)) for f in sorted((root/'packages'/name/'tests').glob('*.test.mjs'))]
|
||||
steps.append(('pkg-'+name,['node','--test','--test-concurrency=1','--test-reporter=spec',*files]))
|
||||
for file in sorted((root/'scripts').glob('test-*.sh')):steps.append(('script-'+file.stem,['bash',str(file.relative_to(root))]))
|
||||
results=[]
|
||||
for name,command in steps:
|
||||
env={**os.environ,'DOCKER_HOST':'unix:///nonexistent.sock'}
|
||||
if name in ['script-test-task','script-test-release']:env.pop('DOCKER_HOST',None)
|
||||
with (out/(name+'.log')).open('w') as log:
|
||||
p=subprocess.Popen(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
|
||||
try:rc=p.wait(timeout=1200)
|
||||
except subprocess.TimeoutExpired:os.killpg(p.pid,signal.SIGKILL);p.wait();rc='timeout'
|
||||
results.append(dict(suite=name,exit=rc,command=command));(out/'results.json').write_text(json.dumps(results,indent=2)+'\n');print(name,rc,flush=True)
|
||||
if rc!=0:sys.exit(1)
|
||||
@@ -0,0 +1,9 @@
|
||||
✔ optional project repo is preserved and must be a normalized absolute path (6.325698ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 56.365146
|
||||
@@ -0,0 +1,11 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (114.706738ms)
|
||||
✔ project commands validate args and refuse undeclared projects and agent init (27.838936ms)
|
||||
✔ project dispatcher reaches the human CLI (80.681817ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 3
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 345.149142
|
||||
@@ -0,0 +1,20 @@
|
||||
✔ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (363.281344ms)
|
||||
✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (401.22419ms)
|
||||
✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (394.747567ms)
|
||||
✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (269.430799ms)
|
||||
✔ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (3222.03526ms)
|
||||
✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (564.612516ms)
|
||||
✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (193.036686ms)
|
||||
✔ install never shows a template name on systemd 261; template drop-ins still refuse (291.636044ms)
|
||||
✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (161.18602ms)
|
||||
✔ inherited mosaic-.service.d override refuses without changing the unit (183.039061ms)
|
||||
✔ inherited service.d override refuses without changing the unit (173.96388ms)
|
||||
✔ inherited drop-in unreadable directory or file refuses before writing (151.534089ms)
|
||||
ℹ tests 12
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 6430.668
|
||||
@@ -0,0 +1,19 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.069413ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.965734ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.025458ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.622381ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.36427ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.331772ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (13.080783ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.23819ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.340895ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.968761ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.017684ms)
|
||||
ℹ tests 11
|
||||
ℹ suites 0
|
||||
ℹ pass 11
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 278.252921
|
||||
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Sequential focused acceptance mutants, each isolated in a process group; timeout is not a kill."""
|
||||
import json,os,pathlib,signal,subprocess,sys
|
||||
ROOT=pathlib.Path(sys.argv[1] if len(sys.argv)>1 else '/mnt/storage/src/mosaic-stack-rocko-147-r1')
|
||||
OUT=pathlib.Path(__file__).resolve().parent/'mutants';OUT.mkdir(exist_ok=True)
|
||||
T='packages/project/tests/project.test.mjs';C='packages/cli/tests/project.test.mjs';B='packages/business/tests/project-repo.test.mjs'
|
||||
cases=[]
|
||||
def add(id,path,old,new,test=T):cases.append(dict(id=id,path=path,old=old,new=new,test=test))
|
||||
p='packages/project/src/index.mjs'
|
||||
add('01-init-nonempty',p,"if (existsSync(repo) && readdirSync(repo).length)","if (false)")
|
||||
add('02-unknown-top-level',p,"if (!['.git', 'project.json', ...DIRECTORIES].includes(name))",'if (false)')
|
||||
add('03-check-record-schema',p,'for (const problem of validateRecord(kind, value))','for (const problem of [])')
|
||||
add('04-check-filename-id',p,'if (value && name !== `${value.id}.json`)','if (false)')
|
||||
add('05-writer-record-schema',p,'const problems = validateRecord(kind, record);','const problems = [];')
|
||||
add('06-writer-filename-id',p,'problems.length || record.id !== match[2]','problems.length')
|
||||
add('07-agent-spec-refusal',p,'bytes = recordBytes(path, record)','bytes = recordBytes(path.replace(/^spec\\//, "docs/"), record)')
|
||||
add('08-author-shape',p,"if (!object(author) || Object.keys(author).sort().join(',') !== 'definition,instance')",'if (false)')
|
||||
add('09-agent-commit-author',p,'identity(name));','identity(context.business.human));')
|
||||
add('10-human-initial-author',p,"identity(human));","identity('wrong-human'));")
|
||||
add('11-preserve-dirty-human-edits',p,' await requireClean(repo);',' /* dirty check omitted */')
|
||||
add('12-exclusive-writer',p,"fd = openSync(lock, 'wx', 0o600);","fd = openSync(lock, 'w', 0o600);")
|
||||
add('13-context-business',p,'if (value && value.business !== context.business.id)','if (false)')
|
||||
add('14-file-links',p,'!st.isFile() || st.isSymbolicLink() || st.nlink !== 1 || st.size > MAX_BYTES','!st.isFile() && !st.isSymbolicLink() || st.size > MAX_BYTES')
|
||||
add('15-invalid-utf8',p,"{ fatal: true }","{ fatal: false }")
|
||||
add('16-file-nul',p,"if (value.includes('\\0'))",'if (false)')
|
||||
add('17-file-size',p,'st.nlink !== 1 || st.size > MAX_BYTES','st.nlink !== 1')
|
||||
add('18-writer-size',p,"if (text.includes('\\0') || Buffer.byteLength(text) > MAX_BYTES)",'if (false)')
|
||||
add('19-unknown-project-schema',p,'if (!TEMPLATES.includes(name))','if (false)')
|
||||
add('20-required-template',p,"if (!readdirSync(base).includes(name)) problem(`templates/${name}`, 'missing');",'/* required template omitted */;')
|
||||
add('21-rollback-file',p,'if (before === null) unlinkSync(file); else publish(file, before);','/* rollback omitted */')
|
||||
p='packages/project/src/git.mjs'
|
||||
add('22-no-remotes',p,"if (key.startsWith('remote.')) throw new ProjectError('project-remote', 'project repository must have no remote');","if (key.startsWith('remote.')) continue;")
|
||||
add('23-disable-hooks',p,'core.hooksPath=/dev/null','core.hooksPath=.git/hooks')
|
||||
p='packages/project/src/paths.mjs'
|
||||
add('24-code-repo-separation',p,'if (contains(root, repo) || contains(repo, root))','if (false)')
|
||||
add('25-repo-override',p,"entry.repo ?? join(dataRoot, 'projects', business.id, project)","join(dataRoot, 'projects', business.id, project)")
|
||||
p='packages/project/src/validate.mjs'
|
||||
add('26-const-version',p,"if (Object.hasOwn(schema, 'const') && value !== schema.const)",'if (false)')
|
||||
add('27-enum-values',p,'if (schema.enum && !schema.enum.includes(value))','if (false)')
|
||||
add('28-schema-types',p,'if (types.length && !types.some(matches))','if (false)')
|
||||
add('29-id-pattern',p,'if (schema.pattern && !new RegExp(schema.pattern).test(value))','if (false)')
|
||||
add('30-canonical-date',p,"if (schema.format === 'date-time' && (!Number.isFinite(Date.parse(value)) ||\n new Date(value).toISOString() !== value || value.length !== 24))",'if (false)')
|
||||
add('31-min-array',p,'if (schema.minItems !== undefined && value.length < schema.minItems)','if (false)')
|
||||
add('32-max-array',p,'if (schema.maxItems !== undefined && value.length > schema.maxItems)','if (false)')
|
||||
add('33-required-fields',p,'for (const key of schema.required ?? [])','for (const key of [])')
|
||||
add('34-closed-keys',p,'else if (schema.additionalProperties === false)','else if (false)')
|
||||
add('35-decision-choice',p,"if (value.status === 'open' ? value.choice !== null : !keys.includes(value.choice))",'if (false)')
|
||||
add('36-distinct-options',p,'if (new Set(keys).size !== keys.length)','if (false)')
|
||||
add('37-recommendation-option',p,'if (!keys.includes(value.recommendation))','if (false)')
|
||||
p='packages/business/src/business.mjs'
|
||||
add('38-business-repo-preservation',p,'...(Object.hasOwn(entry, "repo") ? { repo: entry.repo } : {})','...{}',B)
|
||||
add('39-business-repo-validation',p,'if (Object.hasOwn(entry, "repo") && (typeof entry.repo !== "string" || !isAbsolute(entry.repo) ||\n normalize(entry.repo) !== entry.repo || entry.repo.includes("\\0")))','if (false)',B)
|
||||
add('40-human-cli-init','packages/cli/src/project.mjs',"if (verb === 'init') refuseInsideAgent(io.env);",'/* agent check omitted */',C)
|
||||
add('41-cli-dispatch','scripts/mosaic','project|limits|inbox|','limits|inbox|',C)
|
||||
add('42-pinned-package','scripts/stack-copy.sh',' packages/cli/src packages/project',' packages/cli/src','packages/cli/tests/stack-copy.test.mjs')
|
||||
add('43-min-string','packages/project/src/validate.mjs','if (schema.minLength !== undefined && value.length < schema.minLength)','if (false)')
|
||||
add('44-max-string','packages/project/src/validate.mjs','if (schema.maxLength !== undefined && value.length > schema.maxLength)','if (false)')
|
||||
add('45-schema-keywords','packages/project/src/validate.mjs','for (const key of Object.keys(schema))','for (const key of [])')
|
||||
add('46-absolute-normalized-repo','packages/project/src/paths.mjs',"if (typeof path !== 'string' || !isAbsolute(path) || normalize(path) !== path || path.includes('\\0'))",'if (false)')
|
||||
add('47-declared-project','packages/project/src/paths.mjs','if (!Object.hasOwn(business?.projects ?? {}, project))','if (false)')
|
||||
add('48-git-config','packages/project/src/git.mjs','if (!allowed[key]?.includes(value))','if (false)')
|
||||
add('49-empty-layout-marker','packages/project/src/index.mjs',"if (text !== '') problem(label, 'layout marker must be empty');",'if (false) problem(label, \'layout marker must be empty\');')
|
||||
add('50-gitdir-before-lock','packages/project/src/index.mjs','if (!metadata.isDirectory() || metadata.isSymbolicLink())','if (false)')
|
||||
results=[]
|
||||
if os.environ.get('MUTANT_ONLY'):cases=[c for c in cases if c['id'] in os.environ['MUTANT_ONLY'].split(',')]
|
||||
for c in cases:
|
||||
file=ROOT/c['path'];original=file.read_bytes();text=original.decode();count=text.count(c['old'])
|
||||
if count!=1:raise RuntimeError(f"{c['id']}: expected one site, found {count}")
|
||||
file.write_text(text.replace(c['old'],c['new']))
|
||||
try:
|
||||
with (OUT/(c['id']+'.log')).open('w') as log:
|
||||
p=subprocess.Popen(['node','--test',c['test']],cwd=ROOT,env={**os.environ,'DOCKER_HOST':'unix:///nonexistent.sock'},stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
|
||||
try:rc=p.wait(timeout=120)
|
||||
except subprocess.TimeoutExpired:os.killpg(p.pid,signal.SIGKILL);p.wait();rc='timeout'
|
||||
content=(OUT/(c['id']+'.log')).read_text()
|
||||
invalid='SyntaxError:' in content or ('ERR_MODULE_NOT_FOUND' in content and c['id']!='42-pinned-package')
|
||||
verdict='INVALID' if invalid else 'TIMEOUT' if rc=='timeout' else 'SURVIVED' if rc==0 else 'KILLED'
|
||||
row={k:c[k] for k in ['id','path','test']};row.update(result=verdict,exit=rc)
|
||||
results.append(row);(OUT/'results.json').write_text(json.dumps(results,indent=2)+'\n');print(c['id'],verdict,rc,flush=True)
|
||||
finally:file.write_bytes(original)
|
||||
if verdict!='KILLED':sys.exit(1)
|
||||
@@ -0,0 +1,47 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.939809ms)
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (18.356812ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.271577ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.812219ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.754686ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.818136ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.123349ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.269306ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.251375ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.414757ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.738546ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.756437ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.43685ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.208396ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 350.708514
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:42:1
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (18.356812ms)
|
||||
AssertionError [ERR_ASSERTION]: The validation function is expected to return "true". Received false
|
||||
|
||||
Caught error:
|
||||
|
||||
Error: project-invalid: keep.txt: unknown top-level path
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:51:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: Error: project-invalid: keep.txt: unknown top-level path
|
||||
at Module.initProject (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/src/index.mjs:104:25)
|
||||
at async waitForActual (node:assert:615:5)
|
||||
at async strict.rejects (node:assert:738:25)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:51:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7),
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.034416ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.64704ms)
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.849049ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (66.212681ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.810384ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.670569ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.549372ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.267506ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.660202ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.395228ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.880388ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.6221ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.673383ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.070857ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 347.746474
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:55:1
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.849049ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unexpected.txt/. Input:
|
||||
|
||||
'requirements/bad.json: requirement.status: must be one of draft, accepted, complete\n' +
|
||||
'requirements/bad.json: file name must match record id\n' +
|
||||
'decisions/wrong.json: file name must match record id'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:64:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'requirements/bad.json: requirement.status: must be one of draft, accepted, complete\nrequirements/bad.json: file name must match record id\ndecisions/wrong.json: file name must match record id',
|
||||
expected: /unexpected.txt/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.043416ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.295018ms)
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.589685ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.928257ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.788168ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.4745ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.997935ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.315842ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.053229ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (27.03287ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.819788ms)
|
||||
✖ schema constraints and layout omissions are reported independently (12.770478ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.281662ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.447211ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 2
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 347.685639
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:55:1
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.589685ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /requirements\/bad.json.*status/. Input:
|
||||
|
||||
'unexpected.txt: unknown top-level path\n' +
|
||||
'requirements/bad.json: file name must match record id\n' +
|
||||
'decisions/wrong.json: file name must match record id'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:62:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'unexpected.txt: unknown top-level path\nrequirements/bad.json: file name must match record id\ndecisions/wrong.json: file name must match record id',
|
||||
expected: /requirements\/bad.json.*status/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (12.770478ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /templates\/requirement.json.*status/. Input:
|
||||
|
||||
'docs/large.md: expected bounded regular file, not a link\n' +
|
||||
'docs/nul.md: NUL is forbidden\n' +
|
||||
'templates/document.md: missing'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:191:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/large.md: expected bounded regular file, not a link\ndocs/nul.md: NUL is forbidden\ntemplates/document.md: missing',
|
||||
expected: /templates\/requirement.json.*status/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.307507ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.702507ms)
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.779724ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (65.095735ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.687422ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.145217ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.110725ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.254738ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.819038ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.65516ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.767169ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.05079ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.838495ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.062603ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 348.774322
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:55:1
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.779724ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /decisions\/wrong.json.*id/. Input:
|
||||
|
||||
'unexpected.txt: unknown top-level path\n' +
|
||||
'requirements/bad.json: requirement.status: must be one of draft, accepted, complete'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:63:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'unexpected.txt: unknown top-level path\nrequirements/bad.json: requirement.status: must be one of draft, accepted, complete',
|
||||
expected: /decisions\/wrong.json.*id/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.049114ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.695296ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.476297ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.927511ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.240064ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.95763ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.740986ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.306925ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.305522ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.775739ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.324196ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.648741ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.44539ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.844487ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 364.897114
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.240064ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.847528ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.736116ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.588923ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.280234ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.224547ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.846921ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.436433ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.250192ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (36.932065ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.005526ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.541166ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.240216ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.471167ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.452283ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 365.33013
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.224547ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.117219ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.741739ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.605374ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.628748ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (24.889557ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.865573ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.615362ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.32385ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.210668ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.393407ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.742908ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.704751ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (19.271265ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.667175ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 362.240928
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (24.889557ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.0028ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.822356ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.514902ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.81338ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.205046ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.247855ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.705157ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.256952ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.414711ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.723522ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.754502ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.971558ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (20.147224ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.074497ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 368.13523
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.205046ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (26.14075ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.538835ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.603048ms)
|
||||
✖ one writer commits validated docs, requirements and decisions with the bound agent author (26.325374ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (16.035817ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.15027ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.209424ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.235204ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.005473ms)
|
||||
✖ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.538401ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.750189ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.713845ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.628096ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.334885ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 2
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 317.589728
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:67:1
|
||||
✖ one writer commits validated docs, requirements and decisions with the bound agent author (26.325374ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'jason'
|
||||
- 'coder.builder'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:71:12)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'jason',
|
||||
expected: 'coder.builder',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:147:1
|
||||
✖ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.538401ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'jason'
|
||||
- 'coder.builder'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:158:12)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'jason',
|
||||
expected: 'coder.builder',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
✖ init creates a checked versioned layout, valid templates and human-authored local history (21.802562ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.38294ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.494273ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.713646ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.794492ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.709312ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.907254ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.306855ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.015969ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.494164ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.323241ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.927062ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.438289ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.601746ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 350.313826
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:27:1
|
||||
✖ init creates a checked versioned layout, valid templates and human-authored local history (21.802562ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'wrong-human'
|
||||
- 'jason'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:36:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'wrong-human',
|
||||
expected: 'jason',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (27.948959ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.72555ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (13.58742ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.036452ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.340047ms)
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (23.128381ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.626186ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.251591ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (31.193092ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (22.073673ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.941995ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.125278ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.837802ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.466887ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 354.059677
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:92:1
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (23.128381ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:95:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.287853ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.774665ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.56726ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (67.789686ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.746746ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (20.86487ms)
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (33.16354ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.683453ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.698371ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.8678ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.438389ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.633977ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.358646ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.108068ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 379.08078
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:102:1
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (33.16354ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:112:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (26.385238ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.489612ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (13.529639ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.908135ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.544163ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.481051ms)
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.897116ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.564063ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.248881ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.480754ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.458055ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.756438ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.45744ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.213378ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 350.495876
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:102:1
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.897116ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /project.json.*business/. Input:
|
||||
|
||||
''
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:116:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '',
|
||||
expected: /project.json.*business/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.983442ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.670196ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.20262ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.606516ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.447096ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.209461ms)
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (11.984246ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.56323ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.004422ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.037872ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.377243ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.420138ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (16.879715ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.075768ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 336.8576
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:102:1
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (11.984246ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
|
||||
true !== false
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:108:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: true,
|
||||
expected: false,
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.494908ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.441678ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.131637ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.239038ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.905807ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.239168ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.246225ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.263268ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.846227ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.886491ms)
|
||||
✖ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.519443ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.918688ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.145574ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.462528ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 348.392923
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:163:1
|
||||
✖ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.519443ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /invalid.md/. Input:
|
||||
|
||||
'templates/requirement.schema.json: unknown template'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:169:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'templates/requirement.schema.json: unknown template',
|
||||
expected: /invalid.md/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.807731ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.441212ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (14.261983ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.889274ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.747656ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.537261ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.393348ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.266287ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.755633ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.351054ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.110596ms)
|
||||
✖ schema constraints and layout omissions are reported independently (12.747292ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.977797ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.816282ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 349.299121
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (12.747292ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /nul.md/. Input:
|
||||
|
||||
'docs/large.md: expected bounded regular file, not a link\n' +
|
||||
'templates/requirement.json: requirement.status: must be one of draft, accepted, complete\n' +
|
||||
'templates/document.md: missing'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:190:44)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/large.md: expected bounded regular file, not a link\ntemplates/requirement.json: requirement.status: must be one of draft, accepted, complete\ntemplates/document.md: missing',
|
||||
expected: /nul.md/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (26.010934ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.004359ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (13.233125ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (65.813018ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.645249ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (20.416547ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (20.062418ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.306736ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (39.854391ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (27.463709ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (17.376678ms)
|
||||
✖ schema constraints and layout omissions are reported independently (22.96268ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (31.503086ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (37.059283ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 400.715071
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (22.96268ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /large.md/. Input:
|
||||
|
||||
'docs/nul.md: NUL is forbidden\n' +
|
||||
'templates/requirement.json: requirement.status: must be one of draft, accepted, complete\n' +
|
||||
'templates/document.md: missing'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:190:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/nul.md: NUL is forbidden\ntemplates/requirement.json: requirement.status: must be one of draft, accepted, complete\ntemplates/document.md: missing',
|
||||
expected: /large.md/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (33.85647ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.640239ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (15.945555ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (81.606886ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (16.733616ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (22.070364ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (21.084499ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.306216ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (36.72862ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.094027ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.104716ms)
|
||||
✖ schema constraints and layout omissions are reported independently (42.892167ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (22.801159ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.545416ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 438.288757
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (42.892167ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:184:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (28.72188ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.34452ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (15.552038ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (77.064346ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (19.066938ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (20.93128ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (20.884859ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.283175ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (40.212404ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (27.192536ms)
|
||||
✖ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.284258ms)
|
||||
✔ schema constraints and layout omissions are reported independently (14.781715ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (19.83572ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (32.542944ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 398.734698
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:163:1
|
||||
✖ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.284258ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unknown template/. Input:
|
||||
|
||||
'docs/invalid.md: The encoded data was not valid for encoding utf-8\n' +
|
||||
'templates/requirement.schema.json: unknown record kind: requirement.schema'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:168:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/invalid.md: The encoded data was not valid for encoding utf-8\ntemplates/requirement.schema.json: unknown record kind: requirement.schema',
|
||||
expected: /unknown template/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/src/index.mjs:79
|
||||
} catch (e) { problem(directory, e.message); }
|
||||
^
|
||||
|
||||
SyntaxError: Unexpected token '}'
|
||||
at compileSourceTextModule (node:internal/modules/esm/utils:355:16)
|
||||
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:93:18)
|
||||
at #translate (node:internal/modules/esm/loader:441:20)
|
||||
at afterLoad (node:internal/modules/esm/loader:509:29)
|
||||
at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:514:12)
|
||||
at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:567:36)
|
||||
at afterResolve (node:internal/modules/esm/loader:614:52)
|
||||
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:620:12)
|
||||
at node:internal/modules/esm/loader:639:32
|
||||
at TracingChannel.tracePromise (node:diagnostics_channel:547:22)
|
||||
|
||||
Node.js v26.8.1
|
||||
✖ packages/project/tests/project.test.mjs (41.265605ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 46.870024
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:1:1
|
||||
✖ packages/project/tests/project.test.mjs (41.265605ms)
|
||||
'test failed'
|
||||
@@ -0,0 +1,43 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (27.175702ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.682231ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (17.003345ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (80.150352ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.687581ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (21.108321ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (22.212353ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.298833ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (38.931665ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (26.513215ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.670442ms)
|
||||
✖ schema constraints and layout omissions are reported independently (14.877274ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (21.857961ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (33.254189ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 404.115625
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (14.877274ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /templates\/document.md.*missing/. Input:
|
||||
|
||||
'docs/large.md: expected bounded regular file, not a link\n' +
|
||||
'docs/nul.md: NUL is forbidden\n' +
|
||||
'templates/requirement.json: requirement.status: must be one of draft, accepted, complete'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:192:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/large.md: expected bounded regular file, not a link\ndocs/nul.md: NUL is forbidden\ntemplates/requirement.json: requirement.status: must be one of draft, accepted, complete',
|
||||
expected: /templates\/document.md.*missing/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (29.051352ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.055311ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (15.065429ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (96.500537ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (17.634197ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (26.747905ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (21.868033ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.294785ms)
|
||||
✖ git commit failure restores only the attempted record and leaves human history unchanged (38.510039ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (28.08895ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.446289ms)
|
||||
✔ schema constraints and layout omissions are reported independently (15.671802ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (21.989123ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (31.854135ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 422.327079
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:130:1
|
||||
✖ git commit failure restores only the attempted record and leaves human history unchanged (38.510039ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ '?? docs/failure.md'
|
||||
- ''
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:143:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '?? docs/failure.md',
|
||||
expected: '',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.945951ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.862106ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (14.443917ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (72.619288ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (17.580572ms)
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (39.215324ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (21.945647ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.322611ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (51.845057ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (33.904446ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (18.355227ms)
|
||||
✔ schema constraints and layout omissions are reported independently (18.198115ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (22.456849ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (34.737151ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 437.585133
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:92:1
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (39.215324ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:99:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (31.710023ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (16.132203ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (15.120461ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (78.685095ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (19.594907ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (25.678513ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (19.215088ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.277459ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.630008ms)
|
||||
✖ git hooks and ambient git identity cannot alter the record writer or execute outside actions (28.892022ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.736047ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.413096ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.032126ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.036642ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 405.982288
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:147:1
|
||||
✖ git hooks and ambient git identity cannot alter the record writer or execute outside actions (28.892022ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(!readdirSync(c.root).includes('hook-ran'))
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:159:12)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: false,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.849322ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.824976ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.501305ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.328136ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.822206ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.3962ms)
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (9.64175ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.528439ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.504836ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.947612ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.011322ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.98003ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.814954ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.003601ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 335.519316
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:102:1
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (9.64175ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected exception.
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:105:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: /overlap/,
|
||||
operator: 'throws',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.388995ms)
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (10.4092ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (11.964262ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.573699ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.827707ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.576373ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.402723ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.240494ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.491101ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.58546ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.404367ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.106631ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.012117ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.267591ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 339.469992
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:42:1
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (10.4092ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ '/mnt/storage/scratch/tmp/project-record-kYR5CU/data/projects/acme/stack'
|
||||
- '/mnt/storage/scratch/tmp/project-record-kYR5CU/records'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:44:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '/mnt/storage/scratch/tmp/project-record-kYR5CU/data/projects/acme/stack',
|
||||
expected: '/mnt/storage/scratch/tmp/project-record-kYR5CU/records',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.90896ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.287869ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (11.965657ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.241883ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.552906ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.485336ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (16.934003ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (2.983711ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.132603ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.848543ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.355078ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.367523ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.369956ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.006624ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 344.105264
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (2.983711ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', { ...requirement, recordVersion: '1' }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:123:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.114885ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.00603ms)
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.880448ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.086671ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.562671ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.173288ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.914224ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.253397ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.562467ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.0347ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.258293ms)
|
||||
✖ schema constraints and layout omissions are reported independently (12.31985ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.590875ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.335823ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 2
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 345.53806
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:55:1
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (12.880448ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /requirements\/bad.json.*status/. Input:
|
||||
|
||||
'unexpected.txt: unknown top-level path\n' +
|
||||
'requirements/bad.json: file name must match record id\n' +
|
||||
'decisions/wrong.json: file name must match record id'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:62:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'unexpected.txt: unknown top-level path\nrequirements/bad.json: file name must match record id\ndecisions/wrong.json: file name must match record id',
|
||||
expected: /requirements\/bad.json.*status/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (12.31985ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /templates\/requirement.json.*status/. Input:
|
||||
|
||||
'docs/large.md: expected bounded regular file, not a link\n' +
|
||||
'docs/nul.md: NUL is forbidden\n' +
|
||||
'templates/document.md: missing'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:191:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'docs/large.md: expected bounded regular file, not a link\ndocs/nul.md: NUL is forbidden\ntemplates/document.md: missing',
|
||||
expected: /templates\/requirement.json.*status/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.995426ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.288075ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.431289ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.40569ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.00623ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.119095ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.309031ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.254194ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.686854ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (28.886119ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (21.04157ms)
|
||||
✖ schema constraints and layout omissions are reported independently (16.041005ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.693014ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.074142ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 365.029906
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (16.041005ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', value).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:181:12)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.705134ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.153741ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.350026ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.967536ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.656955ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.741771ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.755769ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.246756ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.693496ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.344472ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.736384ms)
|
||||
✖ schema constraints and layout omissions are reported independently (12.665884ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.982106ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (29.661783ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 345.689877
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (12.665884ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', value).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:181:12)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (28.593947ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.368964ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.282117ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.720607ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.4754ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.552204ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.579259ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.201705ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.768198ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.791692ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.865708ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.818947ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.028322ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.230483ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 346.965664
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.201705ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('project', { layoutVersion: 1, business: 'acme', project: 'stack', name: 'Name', createdAt: '2026-02-30T00:00:00.000Z' }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:127:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.877864ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (17.805685ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.994529ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.31128ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.165186ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.027126ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (16.992975ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.057185ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.293554ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.798566ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.389298ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.583314ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.041605ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.313431ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 345.783541
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.057185ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('decision', { ...decision, options: [decision.options[0]] }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:124:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.679277ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.738148ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.361888ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (67.854657ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.638705ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.665527ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (19.199864ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.281053ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.191511ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (26.804787ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (26.820476ms)
|
||||
✖ schema constraints and layout omissions are reported independently (21.932093ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (23.063381ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (33.15408ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 391.432588
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (21.932093ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('decision', { ...decision, options: Array.from({ length: 10 }, (_, i) => ({ key: 'k' + i, text: 'Option' })), recommendation: 'k0' }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:182:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (27.097297ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (15.218595ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (14.621796ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (66.77326ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.91309ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.93694ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.072655ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.247076ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.730648ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.936513ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.626274ms)
|
||||
✖ schema constraints and layout omissions are reported independently (12.372615ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (19.541895ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.780305ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 368.750116
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:177:1
|
||||
✖ schema constraints and layout omissions are reported independently (12.372615ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', value).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:181:12)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.338982ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.127035ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.174821ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.36402ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (24.341554ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.403781ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.160603ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.303434ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.587446ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (25.301721ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.339131ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.51304ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.116169ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.436411ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 358.588878
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (24.341554ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.52968ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.512674ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.183682ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.545329ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.276996ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.155832ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.261891ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.229254ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.281253ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.323983ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.360319ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.790961ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.836967ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (29.786938ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 350.719366
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (25.276996ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:87:6)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (61.458689ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.387027ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (13.289251ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (69.528435ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (17.683862ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (22.764902ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (20.367149ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.777097ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (40.788439ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (29.629902ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (16.443935ms)
|
||||
✔ schema constraints and layout omissions are reported independently (15.343677ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (22.072087ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (32.464235ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 482.504631
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.777097ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('decision', { ...decision, options: [decision.options[0], decision.options[0]] }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:125:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (26.081648ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.284205ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.227273ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (61.21401ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.570379ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.539168ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.433131ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.033773ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.150376ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.76702ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.462382ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.439208ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.516725ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.511391ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 347.524289
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (3.033773ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('decision', { ...decision, recommendation: 'unknown' }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:126:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (4.472247ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 53.600438
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/business/tests/project-repo.test.mjs:6:1
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (4.472247ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ undefined
|
||||
- '/mnt/storage/scratch/tmp/mosaic-business-SsIIjv/records'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/business/tests/project-repo.test.mjs:11:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: '/mnt/storage/scratch/tmp/mosaic-business-SsIIjv/records',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (5.076763ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 61.101686
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/business/tests/project-repo.test.mjs:6:1
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (5.076763ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected exception.
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/business/tests/project-repo.test.mjs:14:12)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: /repo.*normalized absolute path/,
|
||||
operator: 'throws',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (111.068641ms)
|
||||
✖ project commands validate args and refuse undeclared projects and agent init (83.815486ms)
|
||||
✔ project dispatcher reaches the human CLI (78.678181ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 2
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 374.900296
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/cli/tests/project.test.mjs:27:1
|
||||
✖ project commands validate args and refuse undeclared projects and agent init (83.815486ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/cli/tests/project.test.mjs:30:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: /agent/i,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (112.18923ms)
|
||||
✔ project commands validate args and refuse undeclared projects and agent init (27.382779ms)
|
||||
✖ project dispatcher reaches the human CLI (28.594171ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 2
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 262.87354
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/cli/tests/project.test.mjs:35:1
|
||||
✖ project dispatcher reaches the human CLI (28.594171ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /mosaic project/. Input:
|
||||
|
||||
'refused: usage: mosaic launch <seat|seat-dir> [--task TEXT] [--project NAME] [--workspace PATH] [--harness NAME] [--repo PATH] [--config PATH] [-- args...]\n' +
|
||||
' mosaic seat task <seat> <text> [--by NAME] [--layout repo|fleet|unknown] [--config PATH]\n'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/cli/tests/project.test.mjs:41:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'refused: usage: mosaic launch <seat|seat-dir> [--task TEXT] [--project NAME] [--workspace PATH] [--harness NAME] [--repo PATH] [--config PATH] [-- args...]\n mosaic seat task <seat> <text> [--by NAME] [--layout repo|fleet|unknown] [--config PATH]\n',
|
||||
expected: /mosaic project/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
✖ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (364.003209ms)
|
||||
✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (388.397371ms)
|
||||
✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (390.360131ms)
|
||||
✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (262.51534ms)
|
||||
✖ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (2244.609009ms)
|
||||
✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (457.864629ms)
|
||||
✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (160.808477ms)
|
||||
✔ install never shows a template name on systemd 261; template drop-ins still refuse (163.135982ms)
|
||||
✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (134.112638ms)
|
||||
✔ inherited mosaic-.service.d override refuses without changing the unit (170.950469ms)
|
||||
✔ inherited service.d override refuses without changing the unit (164.755861ms)
|
||||
✔ inherited drop-in unreadable directory or file refuses before writing (144.728991ms)
|
||||
ℹ tests 12
|
||||
ℹ suites 0
|
||||
ℹ pass 10
|
||||
ℹ fail 2
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 5100.175358
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/cli/tests/stack-copy.test.mjs:34:1
|
||||
✖ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (364.003209ms)
|
||||
AssertionError [ERR_ASSERTION]: packages/project/src/index.mjs
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/cli/tests/stack-copy.test.mjs:37:357)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: false,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/cli/tests/stack-copy.test.mjs:101:1
|
||||
✖ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (2244.609009ms)
|
||||
AssertionError [ERR_ASSERTION]: node:internal/modules/esm/resolve:272
|
||||
throw new ERR_MODULE_NOT_FOUND(
|
||||
^
|
||||
|
||||
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/mnt/storage/scratch/tmp/stack-copy-z65IJp/copies/811ff84cf1a28e29fef39d421f85ee455d1fc9bf/packages/project/src/index.mjs' imported from /mnt/storage/scratch/tmp/stack-copy-z65IJp/copies/811ff84cf1a28e29fef39d421f85ee455d1fc9bf/packages/cli/src/project.mjs
|
||||
at finalizeResolution (node:internal/modules/esm/resolve:272:11)
|
||||
at moduleResolve (node:internal/modules/esm/resolve:879:10)
|
||||
at defaultResolve (node:internal/modules/esm/resolve:1006:11)
|
||||
at #cachedDefaultResolve (node:internal/modules/esm/loader:708:20)
|
||||
at #resolveAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:728:38)
|
||||
at ModuleLoader.resolveSync (node:internal/modules/esm/loader:766:56)
|
||||
at #resolve (node:internal/modules/esm/loader:690:17)
|
||||
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:610:35)
|
||||
at ModuleJob.syncLink (node:internal/modules/esm/module_job:277:33)
|
||||
at ModuleJob.link (node:internal/modules/esm/module_job:389:17) {
|
||||
code: 'ERR_MODULE_NOT_FOUND',
|
||||
url: 'file:///mnt/storage/scratch/tmp/stack-copy-z65IJp/copies/811ff84cf1a28e29fef39d421f85ee455d1fc9bf/packages/project/src/index.mjs'
|
||||
}
|
||||
|
||||
Node.js v26.8.1
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/cli/tests/stack-copy.test.mjs:111:84)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '',
|
||||
expected: /bus host up/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.795492ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.438039ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.74473ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.83314ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.892811ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.380266ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.742666ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (2.900774ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.269867ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.509079ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.022171ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.574678ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.611983ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.198402ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 351.884934
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:120:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (2.900774ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', { ...requirement, title: '' }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:122:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.578021ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.058666ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.758236ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (64.329781ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.927672ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.038245ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.584527ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.262347ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.569592ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.996199ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.256158ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.742713ms)
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (12.978942ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.553807ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 342.493547
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:195:1
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (12.978942ms)
|
||||
AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
|
||||
|
||||
assert.ok(api.validateRecord('requirement', { ...requirement, title: 'x'.repeat(513) }).length)
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:200:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 0,
|
||||
expected: true,
|
||||
operator: '==',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.659404ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.254903ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (11.996017ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (60.384538ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.02788ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.022053ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.403933ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.245782ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.491155ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.833381ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.032282ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.803266ms)
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (11.649935ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.71433ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 334.821485
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:195:1
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (11.649935ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:207:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: /unsupported schema keyword/,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (25.423252ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.538062ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.703271ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.093045ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.33179ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.673668ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.093279ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.262797ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.94917ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.367273ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.270126ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.907996ms)
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (10.973733ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.246034ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 339.527747
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:195:1
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (10.973733ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected exception.
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:199:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
expected: /normalized absolute/,
|
||||
operator: 'throws',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (27.526099ms)
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.209864ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.345464ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.733266ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.764577ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (19.547261ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (18.289799ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.265883ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.516999ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.598503ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.659814ms)
|
||||
✔ schema constraints and layout omissions are reported independently (13.205998ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.968279ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (29.97194ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 350.668683
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:42:1
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.209864ms)
|
||||
AssertionError [ERR_ASSERTION]: The validation function is expected to return "true". Received false
|
||||
|
||||
Caught error:
|
||||
|
||||
TypeError: Cannot read properties of undefined (reading 'root')
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:48:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: TypeError: Cannot read properties of undefined (reading 'root')
|
||||
at projectRepo (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/src/paths.mjs:31:67)
|
||||
at Module.initProject (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/src/index.mjs:87:16)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:48:28)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7),
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.905203ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.303672ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (11.962043ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.520349ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.546703ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.708513ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.862733ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.260445ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.445194ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.39224ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (14.094935ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.748585ms)
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (26.760837ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.123511ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 354.749111
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:195:1
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (26.760837ms)
|
||||
AssertionError [ERR_ASSERTION]: Missing expected rejection.
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:210:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: undefined,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.414933ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.487798ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.564469ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (62.300294ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (14.650182ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.873818ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.657169ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.242821ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (34.136643ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (24.585842ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.46638ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.623481ms)
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.553683ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.511583ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 345.903465
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:195:1
|
||||
✖ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.553683ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /requirements\/\.gitkeep.*empty/. Input:
|
||||
|
||||
''
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:213:10)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '',
|
||||
expected: /requirements\/\.gitkeep.*empty/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.853063ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.299921ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.3815ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (63.310352ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.067485ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.51525ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.058398ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.258178ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (32.859634ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.667756ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.068913ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.246697ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.375184ms)
|
||||
✖ a linked git directory is refused before a writer lock can touch its target (30.867309ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 347.485782
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:216:1
|
||||
✖ a linked git directory is refused before a writer lock can touch its target (30.867309ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
|
||||
+ actual - expected
|
||||
|
||||
+ [
|
||||
+ 'mosaic-record.lock',
|
||||
+ 'mosaic-record.lock'
|
||||
+ ]
|
||||
- []
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147-r1/packages/project/tests/project.test.mjs:225:12)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: [ 'mosaic-record.lock', 'mosaic-record.lock' ],
|
||||
expected: [],
|
||||
operator: 'deepStrictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,352 @@
|
||||
[
|
||||
{
|
||||
"id": "01-init-nonempty",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "02-unknown-top-level",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "03-check-record-schema",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "04-check-filename-id",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "05-writer-record-schema",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "06-writer-filename-id",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "07-agent-spec-refusal",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "08-author-shape",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "09-agent-commit-author",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "10-human-initial-author",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "11-preserve-dirty-human-edits",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "12-exclusive-writer",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "13-context-business",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "14-file-links",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "15-invalid-utf8",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "16-file-nul",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "17-file-size",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "18-writer-size",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "19-unknown-project-schema",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "20-required-template",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "21-rollback-file",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "22-no-remotes",
|
||||
"path": "packages/project/src/git.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "23-disable-hooks",
|
||||
"path": "packages/project/src/git.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "24-code-repo-separation",
|
||||
"path": "packages/project/src/paths.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "25-repo-override",
|
||||
"path": "packages/project/src/paths.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "26-const-version",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "27-enum-values",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "28-schema-types",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "29-id-pattern",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "30-canonical-date",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "31-min-array",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "32-max-array",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "33-required-fields",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "34-closed-keys",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "35-decision-choice",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "36-distinct-options",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "37-recommendation-option",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "38-business-repo-preservation",
|
||||
"path": "packages/business/src/business.mjs",
|
||||
"test": "packages/business/tests/project-repo.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "39-business-repo-validation",
|
||||
"path": "packages/business/src/business.mjs",
|
||||
"test": "packages/business/tests/project-repo.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "40-human-cli-init",
|
||||
"path": "packages/cli/src/project.mjs",
|
||||
"test": "packages/cli/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "41-cli-dispatch",
|
||||
"path": "scripts/mosaic",
|
||||
"test": "packages/cli/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "42-pinned-package",
|
||||
"path": "scripts/stack-copy.sh",
|
||||
"test": "packages/cli/tests/stack-copy.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "43-min-string",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "44-max-string",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "45-schema-keywords",
|
||||
"path": "packages/project/src/validate.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "46-absolute-normalized-repo",
|
||||
"path": "packages/project/src/paths.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "47-declared-project",
|
||||
"path": "packages/project/src/paths.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "48-git-config",
|
||||
"path": "packages/project/src/git.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "49-empty-layout-marker",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
},
|
||||
{
|
||||
"id": "50-gitdir-before-lock",
|
||||
"path": "packages/project/src/index.mjs",
|
||||
"test": "packages/project/tests/project.test.mjs",
|
||||
"result": "KILLED",
|
||||
"exit": 1
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"mutants": 50,
|
||||
"killed": 50,
|
||||
"survived": 0,
|
||||
"timeouts": 0,
|
||||
"invalid_final": 0,
|
||||
"initial_invalid_attempt": "20-required-template: omitted loop body; corrected with empty statement, reran all 50",
|
||||
"candidate_hashes_restored": 24,
|
||||
"staged_index_unchanged": true,
|
||||
"remaining_runners": [],
|
||||
"docker_used": false
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
| Check | Result | Exit |
|
||||
| --- | --- | --- |
|
||||
| 01-init-nonempty | KILLED | 1 |
|
||||
| 02-unknown-top-level | KILLED | 1 |
|
||||
| 03-check-record-schema | KILLED | 1 |
|
||||
| 04-check-filename-id | KILLED | 1 |
|
||||
| 05-writer-record-schema | KILLED | 1 |
|
||||
| 06-writer-filename-id | KILLED | 1 |
|
||||
| 07-agent-spec-refusal | KILLED | 1 |
|
||||
| 08-author-shape | KILLED | 1 |
|
||||
| 09-agent-commit-author | KILLED | 1 |
|
||||
| 10-human-initial-author | KILLED | 1 |
|
||||
| 11-preserve-dirty-human-edits | KILLED | 1 |
|
||||
| 12-exclusive-writer | KILLED | 1 |
|
||||
| 13-context-business | KILLED | 1 |
|
||||
| 14-file-links | KILLED | 1 |
|
||||
| 15-invalid-utf8 | KILLED | 1 |
|
||||
| 16-file-nul | KILLED | 1 |
|
||||
| 17-file-size | KILLED | 1 |
|
||||
| 18-writer-size | KILLED | 1 |
|
||||
| 19-unknown-project-schema | KILLED | 1 |
|
||||
| 20-required-template | KILLED | 1 |
|
||||
| 21-rollback-file | KILLED | 1 |
|
||||
| 22-no-remotes | KILLED | 1 |
|
||||
| 23-disable-hooks | KILLED | 1 |
|
||||
| 24-code-repo-separation | KILLED | 1 |
|
||||
| 25-repo-override | KILLED | 1 |
|
||||
| 26-const-version | KILLED | 1 |
|
||||
| 27-enum-values | KILLED | 1 |
|
||||
| 28-schema-types | KILLED | 1 |
|
||||
| 29-id-pattern | KILLED | 1 |
|
||||
| 30-canonical-date | KILLED | 1 |
|
||||
| 31-min-array | KILLED | 1 |
|
||||
| 32-max-array | KILLED | 1 |
|
||||
| 33-required-fields | KILLED | 1 |
|
||||
| 34-closed-keys | KILLED | 1 |
|
||||
| 35-decision-choice | KILLED | 1 |
|
||||
| 36-distinct-options | KILLED | 1 |
|
||||
| 37-recommendation-option | KILLED | 1 |
|
||||
| 38-business-repo-preservation | KILLED | 1 |
|
||||
| 39-business-repo-validation | KILLED | 1 |
|
||||
| 40-human-cli-init | KILLED | 1 |
|
||||
| 41-cli-dispatch | KILLED | 1 |
|
||||
| 42-pinned-package | KILLED | 1 |
|
||||
| 43-min-string | KILLED | 1 |
|
||||
| 44-max-string | KILLED | 1 |
|
||||
| 45-schema-keywords | KILLED | 1 |
|
||||
| 46-absolute-normalized-repo | KILLED | 1 |
|
||||
| 47-declared-project | KILLED | 1 |
|
||||
| 48-git-config | KILLED | 1 |
|
||||
| 49-empty-layout-marker | KILLED | 1 |
|
||||
| 50-gitdir-before-lock | KILLED | 1 |
|
||||
@@ -0,0 +1,77 @@
|
||||
d7bac47e7a1b5931d72f8c4895e58f56b5b7228510cf146ac33351e8e7db5eb6 BUILD.md
|
||||
e05e8fd535fb93bf75784d5682f2c61ed776a8c2253417d6403cba7641281fb5 DESIGN.md
|
||||
c4d07816ce6ffd3b85a1c3f00574548de6f734f92b366c1aaaa41f743c64c0e1 HANDOFF.md
|
||||
66194ffa9c82a1e562b4ee66e2d08e8d53ce7a3a7a38d58a394f9705df605895 base.txt
|
||||
c88a3c0111c15f858a1e96c3acfad8103ae1d23d5b6b7ccbc0e7d6ba0375ebbb build.patch
|
||||
a7f53bc5fe0b67440084e48f706e4aa864f0b36ec9bcea05eec0d2787f75fc39 candidate-manifest.sha256
|
||||
28cd76e75eb9cede7d02a2d6c9cc537e62409ac7e8a74ac65d579bf268fa8e6d gate.py
|
||||
9161f444d7154f7aa60315432cd5031272f81141da8eae78eef3af4ac3baa85b green-business.log
|
||||
965831fe4e5caa9eee8befb88341a58306a66832949bb863a94da200eada829c green-cli.log
|
||||
f6d8c2b84c0bd89c9a5b47bf26fb0e1ef11f377e6e91b006850f8a7d8c324d4e green-copy.log
|
||||
4897304927271570fcfa55ef51f82575eda3fbe9110d3bf12c069789bae4253c green-project.log
|
||||
a6dc3ef09e58730ea7acc32458d284c6c7067f7bf1a781d073d3c744fb6d3ecf mutants/01-init-nonempty.log
|
||||
454ad4373579ec0643e17d89380cd7df8c7840551943d3b8b89f494f29488d39 mutants/02-unknown-top-level.log
|
||||
b516657a4e31f212bbdfda8644e027c7bf14d149a57ac08815283ebd321f849f mutants/03-check-record-schema.log
|
||||
fb9891dad1871bb5b9fed8ea2dedfd6f5b5d9c886705dd1cb2aabc6502de26b3 mutants/04-check-filename-id.log
|
||||
189599e05aa69244617bc4b152ea6d8bfd941bd84e61148767cf928d64b74f50 mutants/05-writer-record-schema.log
|
||||
83b3002d26eaa42c1e0bb237dbaaf82a002ff2e72dc4c10880d41a2ea1508398 mutants/06-writer-filename-id.log
|
||||
7136fd2b05d89ed30a86920f492e28b38158365c00992cb46a519571062e22d0 mutants/07-agent-spec-refusal.log
|
||||
fbd368ec67220eabc3760841efd7ccf7273f3919fbf58923c0a1d88db80fbe05 mutants/08-author-shape.log
|
||||
5e3d67b49dbf0bd43f4b763eb68b8b44f640ab05e96811be73bd977b325b56a1 mutants/09-agent-commit-author.log
|
||||
19effec7692d0f18d961516ad678bc8cdaee8f582d5eff868ee4f3346cdc1191 mutants/10-human-initial-author.log
|
||||
319c8f031ccafc7ac391fdbddf9ab348bedee53d70bcd383fa37e252f5051b4c mutants/11-preserve-dirty-human-edits.log
|
||||
71c24928c7abe8c6418f580ed46b1da9e397c1a27302e6fc67945a1d2a558f88 mutants/12-exclusive-writer.log
|
||||
07a4909db0a44a7a372291fc22d72d34ea065e728763f7ba08207fc5e35006c0 mutants/13-context-business.log
|
||||
5f0d267f4b44f0b707acabf57677453385f960c485cc715ac7255d2e1dff8b3e mutants/14-file-links.log
|
||||
959229615dae442ceb9719608bb5b29ce7590b65921f3f706ba367ca3b225bea mutants/15-invalid-utf8.log
|
||||
02427c30928de4b8187e92a9d519708229e55f392ad49333c311fec52bee7700 mutants/16-file-nul.log
|
||||
71c5390d1a11235bf38a48b763e16ca0713bf21204db36e406934c13c78d51f0 mutants/17-file-size.log
|
||||
056e7a74c69fb80d1cdac38751b802dd46a2b47de6b285ae026bbdfdbd42c5af mutants/18-writer-size.log
|
||||
6d53fc14d77718ce50b0c11a61f3d1a12c7f2684c45a15df6531a615e50ca803 mutants/19-unknown-project-schema.log
|
||||
7a6b4401a219f35e60730e746adc5f37b7b7d9fdd44f3e7c188621137774208e mutants/20-required-template-invalid-attempt.log
|
||||
eaf83120af97321a6ccd5ce3010274ab3ee97719b2c61bb14af0913be2eb3be7 mutants/20-required-template.log
|
||||
a70a5fd0cdf48496f97c2a88ca6a07872e7a70ef8dd938dd1736dbf7f876b879 mutants/21-rollback-file.log
|
||||
e5254ba85ad7f3e98557ba71a1942cc90461953fe448ffdbd2a623d35cf7fb1f mutants/22-no-remotes.log
|
||||
ad3ffe8b101b14452d896c48cbca2ffa359077d384cbfe2478fbc044f4bc8216 mutants/23-disable-hooks.log
|
||||
d2b953fbd50c014d7f6b52dcd8ef8c250fee0721d7466044c55ccfebc27baf85 mutants/24-code-repo-separation.log
|
||||
8e50bf6628c7dbfdce568e79ab4fda32fdb9558776e5dd3e9e077628d0376ca9 mutants/25-repo-override.log
|
||||
9daff4e738fb035d6d27bd7aecf94d86cae907ef12995c16a47ed28c013af88f mutants/26-const-version.log
|
||||
f8e55ef343b23ac118ce876f707ed7a0b92e278a3d13b7009403a9246ffdd35d mutants/27-enum-values.log
|
||||
0f3038e51537f16e44f66fba05077eeabe8ea9ca91a1a5d29e92c79e3df8661c mutants/28-schema-types.log
|
||||
490d28b2a1ac6ddba56d097098caff5544f360445de052b8322ad5890fcd43c6 mutants/29-id-pattern.log
|
||||
8aeb6b9d7c92b7c3061af64c0af89a701d4098e83d2e62e8e7d44a577a577fa4 mutants/30-canonical-date.log
|
||||
c47738b4d26c723a6932b7a7a710ff5574740d229fed151b50c4b0f768e18f85 mutants/31-min-array.log
|
||||
c3cc096ed754dd8c0f58fcaf826a508d50b8d54851f51c16efc1e7770d4041e5 mutants/32-max-array.log
|
||||
1db6fbd8442b704447e1058832681351538c52404c59906ddb5b34467a565198 mutants/33-required-fields.log
|
||||
ad27b9b9bcc647add33ddc932494475d5e627f3543db84db86b90dfa5923f3a6 mutants/34-closed-keys.log
|
||||
9392c49aff885a8867e787fe3359f8c917fe4bf260e063fbcee7b87ae666dbf9 mutants/35-decision-choice.log
|
||||
fffd57aa5018af8b6072b856c9a4de102f17b5cff92ecc20faf662915a68873c mutants/36-distinct-options.log
|
||||
2fe67faeff108369617cd47eb851c80f52b39d60e9546674e76ce2d78f8b20f8 mutants/37-recommendation-option.log
|
||||
67e108d2777010ac8ee2189d0b686fdd754357da7ac25294e5ce5cdec96bb79b mutants/38-business-repo-preservation.log
|
||||
efb045c5854a4b521746f36d2ea6f668c7d42c3e06e9794112dd9b70b9620451 mutants/39-business-repo-validation.log
|
||||
f3c1b745e4194d980f19b6711eff5c73ef8830c3e9530d6d479d854f3fd729bf mutants/40-human-cli-init.log
|
||||
f982d26a8f8f7d5982806e5a88c84818ba9a7f5a46e608afa02de5a12ebaf026 mutants/41-cli-dispatch.log
|
||||
47592a1b4b3d0de081ccd88fa1f380b39edd67673ed674ca0c6b2e13021cf045 mutants/42-pinned-package.log
|
||||
b80f2a1528f854e5210fc6ddc89812609cdc02239bbbc82846a806b14cbe408a mutants/43-min-string.log
|
||||
e91651760bf8593c08bde08c04cd3c99ba49eda4e5d0acc5f8653ff5a3e63a2a mutants/44-max-string.log
|
||||
139df4587ef2f87629d4de3e96db3013f84498d6e9ce6cec9f4fe9ef52ad2371 mutants/45-schema-keywords.log
|
||||
81184fb494a7a0ada07091c08556587de2450fe64cb44fb1b96547c4e03fa94d mutants/46-absolute-normalized-repo.log
|
||||
a1d54bd48130c8b7af93ee444de5c38671aa259799444d9e4bf07ed32a6cb596 mutants/47-declared-project.log
|
||||
84e4db4a57c1f9ab8d12378e5b251b6439e417791e4d3a41c04d0ac8a9a256ac mutants/48-git-config.log
|
||||
2faa4d7cfe6ac4d2dceeac0e36ce81876fbfd6529ff1355f3abfe573a14e5630 mutants/49-empty-layout-marker.log
|
||||
661fe31c707de8cd714538b09c89ed108f8e29e23ec9395fcb85c3f1d7f9d615 mutants/50-gitdir-before-lock.log
|
||||
de7a042057a36dd5450846bc40050e52826705e42a819835e1b47ce83cf8b266 mutants/results.json
|
||||
c0f48e593d9ea2c2276dc87deb49876fe20d643f6d4f70d40be8c14b8e6eecb4 mutants/summary.json
|
||||
a82a1e53fe22d7458d481c106050aef254d327947151be27718f843f2727ceaf mutants/table.md
|
||||
2e18826f08e1b6804122ad1b1af9fe6fab9ba67f2bcd42689136aa6adb025c00 mutants.py
|
||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 pre-mutant-index.patch
|
||||
196852243fb693ee25328e532a21c0e5fae0a6328fc2a397e95df3aa4db58842 prepare.py
|
||||
a4609a1b6cd4085f2d3019da140a1bf0425c973e7d725444a53ce796b23f4aa0 rebased-business.log
|
||||
eeb035eb5ec75aa51456607a33342b9731503ceeeb4049fc3c67b8cf2056d3b4 rebased-cli.log
|
||||
01fb0cea989d6b2f839590f627a147ea7ce2c55434f3e480f41b758ffb9a8637 rebased-copy.log
|
||||
e553c9c1075aa53d322c0b42505604bdd28b5c1b7488af685582b0ea7c0b7c5f rebased-project.log
|
||||
a49cdf2bd32782f35db68d8879f05356ffe131442d8e451982cda947f2e7c6d8 rebuild-manifest.txt
|
||||
459b0ea5e931940ab945eeda0b251e6c4a7b45dcde9b2921e42da2fed1cc0aaf red-business.log
|
||||
1e30d66327189218ad40e24be069b4dd27dd2e6d48c64f14eb9c699f95d07371 red-cli.log
|
||||
d581596783391dd6638ce0ee41f5fec7ad0fef3ce174d02a1453f4afc6b29df9 red-project.log
|
||||
ede2d3fbc8b32f1d6651831a30054a2bca01b6f69861db407bf762bfeb612c09 scan.json
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python3
|
||||
import hashlib,pathlib,subprocess
|
||||
root=pathlib.Path('/mnt/storage/src/mosaic-stack-rocko-147-r1');out=pathlib.Path(__file__).resolve().parent
|
||||
tracked=subprocess.check_output(['git','diff','--name-only'],cwd=root,text=True).splitlines()
|
||||
new=subprocess.check_output(['git','ls-files','--others','--exclude-standard','--','packages/project','packages/cli/src/project.mjs','packages/cli/tests/project.test.mjs','packages/business/tests/project-repo.test.mjs'],cwd=root,text=True).splitlines()
|
||||
paths=sorted(set(tracked+new))
|
||||
assert all(p.startswith(('packages/project/','packages/cli/','packages/business/','scripts/','docs/')) for p in paths)
|
||||
patch=subprocess.check_output(['git','diff','--binary','--no-ext-diff'],cwd=root)
|
||||
for path in sorted(new):
|
||||
p=subprocess.run(['git','diff','--no-index','--binary','--','/dev/null',path],cwd=root,stdout=subprocess.PIPE)
|
||||
assert p.returncode==1;patch+=p.stdout
|
||||
(out/'build.patch').write_bytes(patch)
|
||||
(out/'base.txt').write_bytes(subprocess.check_output(['git','rev-parse','HEAD'],cwd=root))
|
||||
(out/'candidate-manifest.sha256').write_text(''.join(hashlib.sha256((root/p).read_bytes()).hexdigest()+' '+p+'\n' for p in paths))
|
||||
print('candidate files',len(paths));print('candidate SHA',hashlib.sha256((out/'candidate-manifest.sha256').read_bytes()).hexdigest())
|
||||
@@ -0,0 +1,9 @@
|
||||
✔ optional project repo is preserved and must be a normalized absolute path (5.637282ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 49.466758
|
||||
@@ -0,0 +1,11 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (113.877943ms)
|
||||
✔ project commands validate args and refuse undeclared projects and agent init (32.736316ms)
|
||||
✔ project dispatcher reaches the human CLI (84.325568ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 3
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 334.088376
|
||||
@@ -0,0 +1,20 @@
|
||||
✔ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (482.745626ms)
|
||||
✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (442.947564ms)
|
||||
✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (397.087137ms)
|
||||
✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (273.784863ms)
|
||||
✔ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (3170.663379ms)
|
||||
✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (437.561808ms)
|
||||
✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (159.077909ms)
|
||||
✔ install never shows a template name on systemd 261; template drop-ins still refuse (162.980605ms)
|
||||
✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (146.58988ms)
|
||||
✔ inherited mosaic-.service.d override refuses without changing the unit (169.418985ms)
|
||||
✔ inherited service.d override refuses without changing the unit (165.679044ms)
|
||||
✔ inherited drop-in unreadable directory or file refuses before writing (146.994383ms)
|
||||
ℹ tests 12
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 6224.527843
|
||||
@@ -0,0 +1,22 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (32.745717ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (14.675649ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (14.206851ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (73.213285ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (16.377784ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (20.084596ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (19.731265ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.27014ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (35.911278ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (26.061822ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (15.657314ms)
|
||||
✔ schema constraints and layout omissions are reported independently (15.085143ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (18.19364ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.428678ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 14
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 379.279339
|
||||
@@ -0,0 +1,24 @@
|
||||
docs/TOOLS.md: OK
|
||||
packages/business/src/business.mjs: OK
|
||||
packages/business/tests/project-repo.test.mjs: OK
|
||||
packages/cli/src/cli.mjs: OK
|
||||
packages/cli/src/project.mjs: OK
|
||||
packages/cli/tests/project.test.mjs: OK
|
||||
packages/cli/tests/stack-copy.test.mjs: OK
|
||||
packages/project/README.md: OK
|
||||
packages/project/package.json: OK
|
||||
packages/project/schemas/decision.schema.json: OK
|
||||
packages/project/schemas/project.schema.json: OK
|
||||
packages/project/schemas/requirement.schema.json: OK
|
||||
packages/project/src/git.mjs: OK
|
||||
packages/project/src/index.mjs: OK
|
||||
packages/project/src/paths.mjs: OK
|
||||
packages/project/src/validate.mjs: OK
|
||||
packages/project/templates/decision.json: OK
|
||||
packages/project/templates/document.md: OK
|
||||
packages/project/templates/north-star.md: OK
|
||||
packages/project/templates/project.json: OK
|
||||
packages/project/templates/requirement.json: OK
|
||||
packages/project/tests/project.test.mjs: OK
|
||||
scripts/mosaic: OK
|
||||
scripts/stack-copy.sh: OK
|
||||
@@ -0,0 +1,26 @@
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (4.106907ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 56.245918
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/business/tests/project-repo.test.mjs:6:1
|
||||
✖ optional project repo is preserved and must be a normalized absolute path (4.106907ms)
|
||||
Error [BusinessError]: unsupported /mnt/storage/scratch/tmp/mosaic-business-dfPOtj/businesses/acme.json projects.stack key: "repo"
|
||||
at refuse (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/business/src/errors.mjs:12:9)
|
||||
at rejectUnknownKeys (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/business/src/util.mjs:17:33)
|
||||
at validateBusinessDocument (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/business/src/business.mjs:179:5)
|
||||
at check (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/business/tests/project-repo.test.mjs:8:23)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/business/tests/project-repo.test.mjs:11:16)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
exitCode: 2
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
✖ project init/check use declared business repo and never contact the bus (3.548192ms)
|
||||
✖ project commands validate args and refuse undeclared projects and agent init (2.589804ms)
|
||||
✖ project dispatcher reaches the human CLI and pinned copy contains the entire project package (31.15651ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 3
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 134.797167
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/cli/tests/project.test.mjs:10:1
|
||||
✖ project init/check use declared business repo and never contact the bus (3.548192ms)
|
||||
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
|
||||
at join (node:path:1339:7)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/tests/project.test.mjs:12:31)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
code: 'ERR_INVALID_ARG_TYPE'
|
||||
}
|
||||
|
||||
test at packages/cli/tests/project.test.mjs:27:1
|
||||
✖ project commands validate args and refuse undeclared projects and agent init (2.589804ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /declare/. Input:
|
||||
|
||||
'CliError: usage:\n' +
|
||||
' mosaic limits [--business ID] [--json] | set --file PATCH [--business ID] | migrate --file ORGANIZATION --models MAPPING [--roles-dir DIR]\n' +
|
||||
' mosaic inbox [--business <id>] [--json] [--tester]\n' +
|
||||
' mosaic decide <decision> <option> [--note <text>] [--yes] [--business <id>]\n' +
|
||||
' mosaic tasks [--business <id>] [--json] [--tester]\n' +
|
||||
' mosaic agents [--business <id>] [--json] [--tester]\n' +
|
||||
' mosaic trail <task|decision> [--business <id>] [--json] [--tester]\n' +
|
||||
' mosaic talk <role> <text> [--wait <seconds> | --follow] [--business <id>] [--tester]\n' +
|
||||
' mosaic follow [--business <id>] [--tester]\n' +
|
||||
' mosaic stop <run>\n' +
|
||||
' mosaic launches off|on [--business <id>]\n' +
|
||||
' mosaic launches list [--json]\n' +
|
||||
' mosaic bus start <business> [--pm]\n' +
|
||||
' mosaic bus stop\n' +
|
||||
' mosaic bus status [--json]'
|
||||
|
||||
at async TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/tests/project.test.mjs:29:3)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: CliError: usage:
|
||||
mosaic limits [--business ID] [--json] | set --file PATCH [--business ID] | migrate --file ORGANIZATION --models MAPPING [--roles-dir DIR]
|
||||
mosaic inbox [--business <id>] [--json] [--tester]
|
||||
mosaic decide <decision> <option> [--note <text>] [--yes] [--business <id>]
|
||||
mosaic tasks [--business <id>] [--json] [--tester]
|
||||
mosaic agents [--business <id>] [--json] [--tester]
|
||||
mosaic trail <task|decision> [--business <id>] [--json] [--tester]
|
||||
mosaic talk <role> <text> [--wait <seconds> | --follow] [--business <id>] [--tester]
|
||||
mosaic follow [--business <id>] [--tester]
|
||||
mosaic stop <run>
|
||||
mosaic launches off|on [--business <id>]
|
||||
mosaic launches list [--json]
|
||||
mosaic bus start <business> [--pm]
|
||||
mosaic bus stop
|
||||
mosaic bus status [--json]
|
||||
at usage (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/src/cli.mjs:52:24)
|
||||
at main (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/src/cli.mjs:405:9)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/tests/project.test.mjs:29:24)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3),
|
||||
expected: /declare/,
|
||||
operator: 'rejects',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/cli/tests/project.test.mjs:35:1
|
||||
✖ project dispatcher reaches the human CLI and pinned copy contains the entire project package (31.15651ms)
|
||||
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /mosaic project/. Input:
|
||||
|
||||
'refused: usage: mosaic launch <seat|seat-dir> [--task TEXT] [--project NAME] [--workspace PATH] [--harness NAME] [--repo PATH] [--config PATH] [-- args...]\n' +
|
||||
' mosaic seat task <seat> <text> [--by NAME] [--layout repo|fleet|unknown] [--config PATH]\n'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/cli/tests/project.test.mjs:41:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'refused: usage: mosaic launch <seat|seat-dir> [--task TEXT] [--project NAME] [--workspace PATH] [--harness NAME] [--repo PATH] [--config PATH] [-- args...]\n mosaic seat task <seat> <text> [--by NAME] [--layout repo|fleet|unknown] [--config PATH]\n',
|
||||
expected: /mosaic project/,
|
||||
operator: 'match',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
✖ init creates a checked versioned layout, valid templates and human-authored local history (5.250331ms)
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (0.272115ms)
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (0.234005ms)
|
||||
✖ one writer commits validated docs, requirements and decisions with the bound agent author (0.243048ms)
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (0.245636ms)
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (0.212025ms)
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (0.238418ms)
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (0.205145ms)
|
||||
ℹ tests 8
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 8
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 62.050421
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/project/tests/project.test.mjs:27:1
|
||||
✖ init creates a checked versioned layout, valid templates and human-authored local history (5.250331ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:28:37)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.start (node:internal/test_runner/test:1262:17)
|
||||
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:42:1
|
||||
✖ init honors repo, refuses a non-empty directory and an undeclared project without touching files (0.272115ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:43:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:55:1
|
||||
✖ check reports every bad record, filename mismatch and unknown top-level path (0.234005ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:56:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:67:1
|
||||
✖ one writer commits validated docs, requirements and decisions with the bound agent author (0.243048ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:68:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:78:1
|
||||
✖ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (0.245636ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:79:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:91:1
|
||||
✖ writer refuses human pending edits and remotes instead of absorbing or contacting them (0.212025ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:92:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:101:1
|
||||
✖ links, repo/code overlap, identity mismatch and a busy writer refuse safely (0.238418ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at ready (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:21:10)
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:102:29)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
|
||||
test at packages/project/tests/project.test.mjs:119:1
|
||||
✖ schemas remain package-owned and reject invalid nested data and dates (0.205145ms)
|
||||
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
||||
+ actual - expected
|
||||
|
||||
+ 'undefined'
|
||||
- 'function'
|
||||
|
||||
at TestContext.<anonymous> (file:///mnt/storage/src/mosaic-stack-rocko-147/packages/project/tests/project.test.mjs:120:10)
|
||||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||||
at Test.run (node:internal/test_runner/test:1402:25)
|
||||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||||
at Test.run (node:internal/test_runner/test:1467:12)
|
||||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: 'undefined',
|
||||
expected: 'function',
|
||||
operator: 'strictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"files": 76,
|
||||
"findings": [],
|
||||
"scope": "packet only; no live config, secrets or database read",
|
||||
"checks": [
|
||||
"UTF-8 and NUL",
|
||||
"private-key and credential-value patterns"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
# Row 147 #1641 — round 2
|
||||
|
||||
Base: 277d1fa218ed0aeecd3d105b4de0e405958137ab (row146 landed).
|
||||
Detached tree: /mnt/storage/src/mosaic-stack-rocko-147-r2.
|
||||
Sage requested this rebase and notes3/5 in sage-0439 after Filbert's r1 approval
|
||||
(comment28643). No source commits, live steps, credentials or push.
|
||||
|
||||
## Changes from round 1
|
||||
|
||||
The round1 patch applies cleanly with git apply --3way. The only shared source
|
||||
path is packages/cli/src/cli.mjs: row146's CLI behavior is retained, alongside
|
||||
147's project import, usage and dispatch. No manual conflict resolution or
|
||||
product-code change was required. All candidate files other than that merged
|
||||
CLI, the following assertion and the following documentation are byte-identical
|
||||
to r1. See r1-drift.json.
|
||||
|
||||
- Note3: the existing spec write rejection now asserts code
|
||||
project-spec-human-only. A generic path-regex refusal cannot satisfy it.
|
||||
- Note5: TOOLS.md says an undeclared project is a project error (exit2), and
|
||||
distinguishes configuration loading errors (exit3).
|
||||
- Notes1,2,4 are deferred to Sage's follow-up row as explicitly ruled; no
|
||||
init-recovery, cross-project overlap or human-author change in this packet.
|
||||
|
||||
Layout, schema, writer and safety contract remain r1/DESIGN.md and the package
|
||||
README. Scope additions remain sage-0400: scripts/mosaic project dispatch and
|
||||
scripts/stack-copy.sh package inclusion with their tests. Row138 is design-only
|
||||
until Filbert's approval; row143 is assigned to Researcher.
|
||||
|
||||
## Verification
|
||||
|
||||
Only the six singly invoked test files authorized by sage-0439 ran here:
|
||||
|
||||
| File | Passed | Failed | Skipped |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| packages/project/tests/project.test.mjs | 14 | 0 | 0 |
|
||||
| packages/business/tests/project-repo.test.mjs | 1 | 0 | 0 |
|
||||
| packages/cli/tests/project.test.mjs | 3 | 0 | 0 |
|
||||
| packages/cli/tests/stack-copy.test.mjs | 12 | 0 | 0 |
|
||||
| packages/cli/tests/tester.test.mjs | 7 | 0 | 0 |
|
||||
| packages/cli/tests/verbs.test.mjs | 7 | 0 | 0 |
|
||||
|
||||
44 passed, no failures/skips. Each invocation is node --test FILE; logs are in
|
||||
this directory. DOCKER_HOST=unix:///nonexistent.sock for the CLI/business runs;
|
||||
the pure project check did not invoke Docker. No Docker/browser/sandbox used.
|
||||
No suite, shell suite, mutant batch or gate was run in r2. Researcher holds the
|
||||
slot; Sage owns the next landing gate. R1's 50/50 mutant kills are historical
|
||||
r1 evidence, not claimed rerun on this base. Final gate and reviewer result
|
||||
remain pending. No in-review move until directed.
|
||||
|
||||
Clean base+patch reconstruction verifies24/24 hashes (rebuild-manifest.txt).
|
||||
Queue rev1445 reopens in-progress for r2; owner gate/review move pending.
|
||||
@@ -0,0 +1 @@
|
||||
277d1fa218ed0aeecd3d105b4de0e405958137ab
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
✔ optional project repo is preserved and must be a normalized absolute path (6.044275ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 54.227699
|
||||
@@ -0,0 +1,24 @@
|
||||
6dc17c325ae73bdb02055740477d97a0919725b71636fc2d628ba9ba82f19dad docs/TOOLS.md
|
||||
7c353b41808a46ac988547c6e0ceeee0727fea94c500afd7a7d0b7e2bf10cbbc packages/business/src/business.mjs
|
||||
eba8a16fe394299de78e981c106fc13a728da931b84aefe0d039c0c747214c98 packages/business/tests/project-repo.test.mjs
|
||||
1c4875e684922abc4d3560ef345f62beb501108292bd0071cb773d66a55af6cc packages/cli/src/cli.mjs
|
||||
c10ef02af609cb5a075dca4b25092fd5b281eaa436b89bade218e0499a13a5fc packages/cli/src/project.mjs
|
||||
78bf2466b0edf3aa6e4d8e2e8bf293060df1356491eea370866753b4e312bf7d packages/cli/tests/project.test.mjs
|
||||
d393a46ae99767937a3ab28bbe54a81a849843cbe3f5f7373927a7219a861805 packages/cli/tests/stack-copy.test.mjs
|
||||
1640dc1c80ff0e78dc00ffdae8954fa3bebdaca5e7a1f8b973aef8af5cd77066 packages/project/README.md
|
||||
13664e88d0f233bcf18f05e75946e70a1f2a7ba8d099248b73936230cefadd8d packages/project/package.json
|
||||
925bb03ac99e5845e4bfa20b4561a331f034f88e187db82213df6602a7ceee4b packages/project/schemas/decision.schema.json
|
||||
f069c012e9660d5d0491a21f98e936b725f6818e1c3136dfec61b3c800bd58de packages/project/schemas/project.schema.json
|
||||
79a1e7b567af7162bb88ca69861075fc579a858e8aec4e49824ccdc370b690c3 packages/project/schemas/requirement.schema.json
|
||||
6534d25ac364390d98ba28baa093168de307f0ee0bc013f6fee6f26f6667e838 packages/project/src/git.mjs
|
||||
e0e9f57d085a052149c8816ff7bba9ef300f9f017d12080d9b0ecc6c293252bf packages/project/src/index.mjs
|
||||
79632f4c2bc0cbcda26113ad1ff025fb18d2876de334bea4f3a026ae09ae253c packages/project/src/paths.mjs
|
||||
e49ab5e825f0706da2f3c8dfcf33c1331a38d77ca2d35b03359ee68ea74652c5 packages/project/src/validate.mjs
|
||||
0b1985a131474a041ea96652a5035224144a51fb50f3d2406013f37596fa98fb packages/project/templates/decision.json
|
||||
5052534a4b89510d84a9b8815f933bd1c4a8912a91508b6dfe1764dac8c4f14a packages/project/templates/document.md
|
||||
24b7e3224dba45753e2d6139fcf05d2ed8c29d999752b02a637cfb8489fd9e0a packages/project/templates/north-star.md
|
||||
14d780b49cbda0c306ca38c1523ccd69d6bf40c73ab744c829e085ef610cd084 packages/project/templates/project.json
|
||||
682343c67c81ca244b07bf39723c328f80706ba4d957aa45601b2a64ceeeb215 packages/project/templates/requirement.json
|
||||
fd22355dc655f1cf4c0b1dcf9847885736014508b0505e7b12de9028f60a0fe0 packages/project/tests/project.test.mjs
|
||||
b3845214d21cc5ac20c2ab268c4fff1cc88d48c3695f2da29207467eeb7982db scripts/mosaic
|
||||
ef037cfa4b0df63aec247e412212c627a3aa973b22766b673265f36726c88b1f scripts/stack-copy.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (102.418876ms)
|
||||
✔ project commands validate args and refuse undeclared projects and agent init (26.948466ms)
|
||||
✔ project dispatcher reaches the human CLI (75.90795ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 3
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 296.924498
|
||||
@@ -0,0 +1,13 @@
|
||||
3646598c0d810c20ed7d9261360980c011185b951b3546c53c2d53780c026dda BUILD.md
|
||||
df6b11480b392ed26ff028ae8e5dfbc74e011f486738e306c95801f0f091f1f4 base.txt
|
||||
63b3c00ae8fb2f5ba8e0762d8fb25b2be9b7d8ad9ed3f30fe791db2f6831300c build.patch
|
||||
208a3c6e1890c308f97c11d0e9a92a3f7eba705622d5ae58f895a28ab0f7b4d4 business.log
|
||||
0aaabc8ab1b5e36eb5f64eb93e9cb2d02b5444736e48079c27b9a01a7413870d candidate-manifest.sha256
|
||||
45b3ed3202256db857ef180d3c8e603a17c476f6ad37babb00e3cfb9bbcb4fda cli-project.log
|
||||
374f311951da82bf7dcc15bbc8b216532cb9679754efdc1be45be3e6c3fa078c project.log
|
||||
526abe989e422344dc287176e695abd548a63e12ca28e437b13c0847e7b17e6e r1-drift.json
|
||||
a49cdf2bd32782f35db68d8879f05356ffe131442d8e451982cda947f2e7c6d8 rebuild-manifest.txt
|
||||
b11b66c93d7ebf1308362da09c1c168b77b7c01881d0c3b157f91be12c91fe9b scan.json
|
||||
461c028e96486daf5628a9863812c86d7cd300606ac9365bd560d112fc3f9bbc stack-copy.log
|
||||
39920a4ea9a62cfd4b05f0ee53d1c1f4860766b1b203910f379b23819966d7c0 tester.log
|
||||
3ad7b94486d317e8a0b057225e3df5444f1fec753b8ccd0002b7f5a845d370fd verbs.log
|
||||
@@ -0,0 +1,22 @@
|
||||
✔ init creates a checked versioned layout, valid templates and human-authored local history (24.047135ms)
|
||||
✔ init honors repo, refuses a non-empty directory and an undeclared project without touching files (13.091166ms)
|
||||
✔ check reports every bad record, filename mismatch and unknown top-level path (12.494284ms)
|
||||
✔ one writer commits validated docs, requirements and decisions with the bound agent author (60.980234ms)
|
||||
✔ writer refuses spec paths, bad schemas, mismatched IDs and invalid actor metadata before changing history (15.840245ms)
|
||||
✔ writer refuses human pending edits and remotes instead of absorbing or contacting them (18.895905ms)
|
||||
✔ links, repo/code overlap, identity mismatch and a busy writer refuse safely (17.395944ms)
|
||||
✔ schemas remain package-owned and reject invalid nested data and dates (0.260256ms)
|
||||
✔ git commit failure restores only the attempted record and leaves human history unchanged (33.155248ms)
|
||||
✔ git hooks and ambient git identity cannot alter the record writer or execute outside actions (23.338193ms)
|
||||
✔ project-local schemas cannot weaken checks; invalid UTF-8 and linked git directories refuse (13.262103ms)
|
||||
✔ schema constraints and layout omissions are reported independently (12.442534ms)
|
||||
✔ unsupported schema keywords, malformed contexts, ignored local config and nonempty markers refuse (17.514169ms)
|
||||
✔ a linked git directory is refused before a writer lock can touch its target (30.41393ms)
|
||||
ℹ tests 14
|
||||
ℹ suites 0
|
||||
ℹ pass 14
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 342.254618
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"changed_from_r1": [
|
||||
"docs/TOOLS.md",
|
||||
"packages/cli/src/cli.mjs",
|
||||
"packages/project/tests/project.test.mjs"
|
||||
],
|
||||
"product_logic_changed": false
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
docs/TOOLS.md: OK
|
||||
packages/business/src/business.mjs: OK
|
||||
packages/business/tests/project-repo.test.mjs: OK
|
||||
packages/cli/src/cli.mjs: OK
|
||||
packages/cli/src/project.mjs: OK
|
||||
packages/cli/tests/project.test.mjs: OK
|
||||
packages/cli/tests/stack-copy.test.mjs: OK
|
||||
packages/project/README.md: OK
|
||||
packages/project/package.json: OK
|
||||
packages/project/schemas/decision.schema.json: OK
|
||||
packages/project/schemas/project.schema.json: OK
|
||||
packages/project/schemas/requirement.schema.json: OK
|
||||
packages/project/src/git.mjs: OK
|
||||
packages/project/src/index.mjs: OK
|
||||
packages/project/src/paths.mjs: OK
|
||||
packages/project/src/validate.mjs: OK
|
||||
packages/project/templates/decision.json: OK
|
||||
packages/project/templates/document.md: OK
|
||||
packages/project/templates/north-star.md: OK
|
||||
packages/project/templates/project.json: OK
|
||||
packages/project/templates/requirement.json: OK
|
||||
packages/project/tests/project.test.mjs: OK
|
||||
scripts/mosaic: OK
|
||||
scripts/stack-copy.sh: OK
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"files": 12,
|
||||
"findings": [],
|
||||
"scope": "packet-only UTF-8/NUL and private-key/credential-value patterns; no live reads"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
✔ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (387.870963ms)
|
||||
✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (388.952653ms)
|
||||
✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (380.86482ms)
|
||||
✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (263.24709ms)
|
||||
✔ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (3155.276243ms)
|
||||
✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (470.352131ms)
|
||||
✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (166.940571ms)
|
||||
✔ install never shows a template name on systemd 261; template drop-ins still refuse (165.212537ms)
|
||||
✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (153.124568ms)
|
||||
✔ inherited mosaic-.service.d override refuses without changing the unit (174.56185ms)
|
||||
✔ inherited service.d override refuses without changing the unit (172.560212ms)
|
||||
✔ inherited drop-in unreadable directory or file refuses before writing (153.0437ms)
|
||||
ℹ tests 12
|
||||
ℹ suites 0
|
||||
ℹ pass 12
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 6092.921886
|
||||
@@ -0,0 +1,15 @@
|
||||
✔ talk --tester sends a [mos test] message as tester from inside an agent and prints the role's reply (17.428389ms)
|
||||
✔ talk --tester refuses text without the [mos test] prefix before any call (8.65638ms)
|
||||
✔ the read verbs take --tester inside an agent, and the trail shows the tester as the sender (13.997674ms)
|
||||
✔ decide, stop and launches take no --tester (8.818342ms)
|
||||
✔ the tester transport runs tester-cli.mjs, and the tester's refusals exit 3 (0.324989ms)
|
||||
✔ with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket (0.441021ms)
|
||||
✔ talk --tester to a stopped role says nobody is told to launch it (8.059511ms)
|
||||
ℹ tests 7
|
||||
ℹ suites 0
|
||||
ℹ pass 7
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 152.010822
|
||||
@@ -0,0 +1,15 @@
|
||||
✔ talk sends a REQUEST, prints and reads everything that arrives, and stops at the reply (45.280416ms)
|
||||
✔ talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show (1015.655977ms)
|
||||
✔ a late reply the Console has listed still reaches the next talk (2022.999428ms)
|
||||
✔ talk says when the role isn't running, whether launch.by was told, and how to start launch.by (26.471431ms)
|
||||
✔ talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors (9.238363ms)
|
||||
✔ launches off and on go to the broker and change the business's launch state (10.654816ms)
|
||||
✔ launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner (11.298555ms)
|
||||
ℹ tests 7
|
||||
ℹ suites 0
|
||||
ℹ pass 7
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 3239.859226
|
||||
@@ -0,0 +1,68 @@
|
||||
# Row 147 #1641 — round 2
|
||||
|
||||
Base: 02ee7f640321f44e9408e7e2055c9372fbbb7eb8 (row142 landed, includes row146).
|
||||
Detached tree: /mnt/storage/src/mosaic-stack-rocko-147-r2b.
|
||||
Sage requested this rebase and notes3/5 in sage-0439 after Filbert's r1 approval
|
||||
(comment28643). No source commits, live steps, credentials or push.
|
||||
|
||||
## Changes from round 1
|
||||
|
||||
The round1 patch applies cleanly with git apply --3way. The only shared source
|
||||
path is packages/cli/src/cli.mjs: row146's CLI behavior is retained, alongside
|
||||
147's project import, usage and dispatch. No manual conflict resolution or
|
||||
product-code change was required. All candidate files other than that merged
|
||||
CLI, the following assertion and the following documentation are byte-identical
|
||||
to r1. See r1-drift.json.
|
||||
|
||||
- Note3: the existing spec write rejection now asserts code
|
||||
project-spec-human-only. A generic path-regex refusal cannot satisfy it.
|
||||
- Note5: TOOLS.md says an undeclared project is a project error (exit2), and
|
||||
distinguishes configuration loading errors (exit3).
|
||||
- Notes1,2,4 are deferred to Sage's follow-up row as explicitly ruled; no
|
||||
init-recovery, cross-project overlap or human-author change in this packet.
|
||||
|
||||
Layout, schema, writer and safety contract remain r1/DESIGN.md and the package
|
||||
README. Scope additions remain sage-0400: scripts/mosaic project dispatch and
|
||||
scripts/stack-copy.sh package inclusion with their tests. Row138 is design-only
|
||||
until Filbert's approval; row143 is assigned to Researcher.
|
||||
|
||||
## Verification
|
||||
|
||||
Only the six singly invoked test files authorized by sage-0439 ran here:
|
||||
|
||||
| File | Passed | Failed | Skipped |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| packages/project/tests/project.test.mjs | 14 | 0 | 0 |
|
||||
| packages/business/tests/project-repo.test.mjs | 1 | 0 | 0 |
|
||||
| packages/cli/tests/project.test.mjs | 3 | 0 | 0 |
|
||||
| packages/cli/tests/stack-copy.test.mjs | 12 | 0 | 0 |
|
||||
| packages/cli/tests/tester.test.mjs | 7 | 0 | 0 |
|
||||
| packages/cli/tests/verbs.test.mjs | 7 | 0 | 0 |
|
||||
|
||||
44 passed, no failures/skips. Each invocation is node --test FILE; logs are in
|
||||
this directory. DOCKER_HOST=unix:///nonexistent.sock for the CLI/business runs;
|
||||
the pure project check did not invoke Docker. No Docker/browser/sandbox used.
|
||||
No suite, shell suite, mutant batch or gate was run in r2. Researcher holds the
|
||||
slot; Sage owns the next landing gate. R1's 50/50 mutant kills are historical
|
||||
r1 evidence, not claimed rerun on this base. Final gate and reviewer result
|
||||
remain pending. No in-review move until directed.
|
||||
|
||||
Clean base+patch reconstruction verifies24/24 hashes (rebuild-manifest.txt).
|
||||
Queue rev1445 reopens in-progress for r2; owner gate/review move pending.
|
||||
|
||||
## Same-round refresh after row142 — sage-0450
|
||||
|
||||
Supersedes r2's earlier base277d1fa21 and its focused logs/manifests. The previous
|
||||
packet is preserved separately at ../r2-before-142/. R2 has not gone in review.
|
||||
The existing patch applied cleanly to02ee7f640 with no conflict resolution or
|
||||
additional source edit. cli.mjs retains row142's matching-reply-only filtering,
|
||||
read acknowledgement, corrected timeout text and follow behavior; 147 adds only
|
||||
its project import, usage and dispatcher in separate locations. TOOLS.md keeps
|
||||
row142's talk/inbox/follow paragraph near line265 unchanged; 147's local project
|
||||
records paragraph is appended near the end, including the r1 note5 correction.
|
||||
|
||||
All six single files were rerun singly on02ee7f640, including verbs.test.mjs
|
||||
exactly as row142 left it: project14, business1, CLIproject3, copy12, tester7,
|
||||
verbs7, total44 passed, no failures/skips. DOCKER_HOST=unix:///nonexistent.sock
|
||||
for all six. No suite, gate, mutants, browser, sandbox or Docker run. The slot
|
||||
remains with the previously assigned holder. Sage's landing gate is pending.
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"base": "02ee7f640321f44e9408e7e2055c9372fbbb7eb8",
|
||||
"changed_from_previous_r2": [
|
||||
"docs/TOOLS.md",
|
||||
"packages/cli/src/cli.mjs"
|
||||
],
|
||||
"new_product_edits": false,
|
||||
"verbs_test_sha256": "35ec58396a293d077974d4a561005b25889ad97d9a1cdd8dee56001aa89236db"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
02ee7f640321f44e9408e7e2055c9372fbbb7eb8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
✔ optional project repo is preserved and must be a normalized absolute path (6.082445ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 60.169367
|
||||
@@ -0,0 +1,24 @@
|
||||
234e8003cc2e31648d09511e8c4c20610a7bc2fddcf5f22168ecca6698105cd2 docs/TOOLS.md
|
||||
7c353b41808a46ac988547c6e0ceeee0727fea94c500afd7a7d0b7e2bf10cbbc packages/business/src/business.mjs
|
||||
eba8a16fe394299de78e981c106fc13a728da931b84aefe0d039c0c747214c98 packages/business/tests/project-repo.test.mjs
|
||||
2d801112ac5f760976b8e2775fc3a089f56f06ffb2e4c14e3971bcb3e5e53d56 packages/cli/src/cli.mjs
|
||||
c10ef02af609cb5a075dca4b25092fd5b281eaa436b89bade218e0499a13a5fc packages/cli/src/project.mjs
|
||||
78bf2466b0edf3aa6e4d8e2e8bf293060df1356491eea370866753b4e312bf7d packages/cli/tests/project.test.mjs
|
||||
d393a46ae99767937a3ab28bbe54a81a849843cbe3f5f7373927a7219a861805 packages/cli/tests/stack-copy.test.mjs
|
||||
1640dc1c80ff0e78dc00ffdae8954fa3bebdaca5e7a1f8b973aef8af5cd77066 packages/project/README.md
|
||||
13664e88d0f233bcf18f05e75946e70a1f2a7ba8d099248b73936230cefadd8d packages/project/package.json
|
||||
925bb03ac99e5845e4bfa20b4561a331f034f88e187db82213df6602a7ceee4b packages/project/schemas/decision.schema.json
|
||||
f069c012e9660d5d0491a21f98e936b725f6818e1c3136dfec61b3c800bd58de packages/project/schemas/project.schema.json
|
||||
79a1e7b567af7162bb88ca69861075fc579a858e8aec4e49824ccdc370b690c3 packages/project/schemas/requirement.schema.json
|
||||
6534d25ac364390d98ba28baa093168de307f0ee0bc013f6fee6f26f6667e838 packages/project/src/git.mjs
|
||||
e0e9f57d085a052149c8816ff7bba9ef300f9f017d12080d9b0ecc6c293252bf packages/project/src/index.mjs
|
||||
79632f4c2bc0cbcda26113ad1ff025fb18d2876de334bea4f3a026ae09ae253c packages/project/src/paths.mjs
|
||||
e49ab5e825f0706da2f3c8dfcf33c1331a38d77ca2d35b03359ee68ea74652c5 packages/project/src/validate.mjs
|
||||
0b1985a131474a041ea96652a5035224144a51fb50f3d2406013f37596fa98fb packages/project/templates/decision.json
|
||||
5052534a4b89510d84a9b8815f933bd1c4a8912a91508b6dfe1764dac8c4f14a packages/project/templates/document.md
|
||||
24b7e3224dba45753e2d6139fcf05d2ed8c29d999752b02a637cfb8489fd9e0a packages/project/templates/north-star.md
|
||||
14d780b49cbda0c306ca38c1523ccd69d6bf40c73ab744c829e085ef610cd084 packages/project/templates/project.json
|
||||
682343c67c81ca244b07bf39723c328f80706ba4d957aa45601b2a64ceeeb215 packages/project/templates/requirement.json
|
||||
fd22355dc655f1cf4c0b1dcf9847885736014508b0505e7b12de9028f60a0fe0 packages/project/tests/project.test.mjs
|
||||
b3845214d21cc5ac20c2ab268c4fff1cc88d48c3695f2da29207467eeb7982db scripts/mosaic
|
||||
ef037cfa4b0df63aec247e412212c627a3aa973b22766b673265f36726c88b1f scripts/stack-copy.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
✔ project init/check use declared business repo and never contact the bus (106.412404ms)
|
||||
✔ project commands validate args and refuse undeclared projects and agent init (26.275232ms)
|
||||
✔ project dispatcher reaches the human CLI (79.279467ms)
|
||||
ℹ tests 3
|
||||
ℹ suites 0
|
||||
ℹ pass 3
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 305.670321
|
||||
@@ -0,0 +1,14 @@
|
||||
505e2b96876bd42fdbe451d8debb1f6d180ea864432d569349a8485abf521649 BUILD.md
|
||||
f55055ce19c9c57b5983bd789d0dc63edb8bcdc9ccb25c92d7b097eaf5d9ee99 base-refresh.json
|
||||
0e58b167c3a7f9695df523a89b33025be10159ff7d08ddda6f12f336704f98c0 base.txt
|
||||
ccfdf3c0495501869fa73aad16b66ec34bcd8050a28ddfa648cb2d444ac62124 build.patch
|
||||
f9a765306634639e295438e526b4bdd9b428f77864865cabd7ffc6b3d09a5bfe business.log
|
||||
7a585aa9606863a0d44a26094b585160914e3d8fd5f13436b56470cd69e6d867 candidate-manifest.sha256
|
||||
a75d447b179164ea397d1213e79e187a6164f1e191b55f6a94e8036e04fee2e9 cli-project.log
|
||||
57a2b974ed8594bd2a0fd1de38cc8c8d1becce929ee9b6a25116da940917678b project.log
|
||||
526abe989e422344dc287176e695abd548a63e12ca28e437b13c0847e7b17e6e r1-drift.json
|
||||
a49cdf2bd32782f35db68d8879f05356ffe131442d8e451982cda947f2e7c6d8 rebuild-manifest.txt
|
||||
9306f85832eb21da73b5992d8c71a5e83027caed5b81e32cad5eac5f9d98ebb3 scan.json
|
||||
8d27a55dc5a644667c7ac6003f65554bf4fd0bf40deb38c85c3168d946d89bc0 stack-copy.log
|
||||
af8dccebeeb67ec85383f93945fa7a7d3408661c2d980e1549993c4b16549e56 tester.log
|
||||
5ed938f5e387286198cc69b2aa021fee063b8668eda21f3e14a2fc40a5c02f19 verbs.log
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user