Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ matching and ALLOW/ESCALATE/DENY come from flashyos-wdk's `SpendEnvelope` and
- The schema's key lists equal the checker's `SHAPE`; nested objects are
closed; only `^x-` top-level extras; period enum equals `PERIODS`.
- Every `node vendor-pay-policy.mjs …` line in the README runs and exits 0.
- Licensed under Apache-2.0 (holder Flashy Labs); the estate register in flashyos
- Licensed under Apache-2.0 (holder Agente Labs); the estate register in flashyos
`tools/estate-licences.mjs` is the authority. The `LICENSE` file is present and
carries that grant and holder (`Copyright 2026 Flashy Labs`); the README's last
carries that grant and holder (`Copyright 2026 Agente Labs`); the README's last
line is the licence line; both README and SPEC still say `Status: draft`.
- `package.json` has no dependency fields at all; CI installs nothing.
- No brand name inside the format, the checker, or a vector.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2026 Flashy Labs
Copyright 2026 Agente Labs

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,4 +158,4 @@ node scripts/build-site.mjs # regenerate site/ from site.config.json + the ven

Status: draft; the institutional front door was generated 2026-09-29. No adopter yet; nothing here has settled a real payment, and the format is not published as a standard.

Licensed under Apache-2.0 (holder Flashy Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.
Licensed under Apache-2.0 (holder Agente Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.
2 changes: 1 addition & 1 deletion scripts/build-site.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ ${ringLinks}
<a href="${prefix}.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="${linkTo(prefix, 'faq')}">FAQ</a> · <a href="${prefix}llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
Expand Down
8 changes: 4 additions & 4 deletions scripts/lint.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ for (const file of files.filter((f) => f.endsWith('.json'))) {
}

// The estate register (flashyos tools/estate-licences.mjs) names this repository
// Apache-2.0, holder Flashy Labs — the register is the authority, so the LICENSE
// Apache-2.0, holder Agente Labs — the register is the authority, so the LICENSE
// must be present and must carry that grant and that holder.
if (!existsSync(join(ROOT, 'LICENSE'))) {
failures.push('LICENSE: the estate register names this repository Apache-2.0 (holder Flashy Labs); the LICENSE file must be present');
failures.push('LICENSE: the estate register names this repository Apache-2.0 (holder Agente Labs); the LICENSE file must be present');
} else {
const licence = readFileSync(join(ROOT, 'LICENSE'), 'utf8');
if (!licence.includes('Apache License')) failures.push('LICENSE: must be the Apache License text');
if (!licence.includes('Copyright 2026 Flashy Labs')) failures.push('LICENSE: must name the holder — Copyright 2026 Flashy Labs');
if (!licence.includes('Copyright 2026 Agente Labs')) failures.push('LICENSE: must name the holder — Copyright 2026 Agente Labs');
}

const pkg = JSON.parse(readFileSync(join(ROOT, 'package.json'), 'utf8'));
Expand All @@ -51,7 +51,7 @@ for (const field of ['dependencies', 'devDependencies', 'peerDependencies', 'opt
}

const readme = readFileSync(join(ROOT, 'README.md'), 'utf8').trimEnd().split('\n');
const LICENCE_LINE = 'Licensed under Apache-2.0 (holder Flashy Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.';
const LICENCE_LINE = 'Licensed under Apache-2.0 (holder Agente Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.';
if (readme[readme.length - 1] !== LICENCE_LINE) failures.push(`README.md: final line must be exactly: ${LICENCE_LINE}`);

if (failures.length) {
Expand Down
2 changes: 1 addition & 1 deletion site/faq/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ <h4>The estate</h4>
<a href="../.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="../faq/">FAQ</a> · <a href="../llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ <h4>The estate</h4>
<a href=".well-known/stack.json">/.well-known/stack.json</a> ·
<a href="faq/">FAQ</a> · <a href="llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion site/joining/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ <h4>The estate</h4>
<a href="../.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="../faq/">FAQ</a> · <a href="../llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion site/principles/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ <h4>The estate</h4>
<a href="../.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="../faq/">FAQ</a> · <a href="../llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion site/stack/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ <h4>The estate</h4>
<a href="../.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="../faq/">FAQ</a> · <a href="../llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
2 changes: 1 addition & 1 deletion site/why/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ <h4>The estate</h4>
<a href="../.well-known/stack.json">/.well-known/stack.json</a> ·
<a href="../faq/">FAQ</a> · <a href="../llms.txt">llms.txt</a><br>
No repository on the map is public or launched today; a status is a measurement, not a promise.
This site makes zero external requests. Licence: Apache-2.0, holder Flashy Labs, per the estate register in flashyos.</p>
This site makes zero external requests. Licence: Apache-2.0, holder Agente Labs, per the estate register in flashyos.</p>
</div></footer>
</body>
</html>
8 changes: 4 additions & 4 deletions test/pay-policy.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -564,17 +564,17 @@ test('repo: every README command in a code block runs and exits 0', () => {
}
});

test('repo: the LICENSE is the estate-declared Apache-2.0 (holder Flashy Labs); the README ends on the licence line; the status is draft', () => {
test('repo: the LICENSE is the estate-declared Apache-2.0 (holder Agente Labs); the README ends on the licence line; the status is draft', () => {
// The estate register (flashyos tools/estate-licences.mjs) is the authority and
// names this repository Apache-2.0, holder Flashy Labs. The LICENSE must be
// names this repository Apache-2.0, holder Agente Labs. The LICENSE must be
// present and carry exactly that grant and that holder.
assert.equal(existsSync(join(ROOT, 'LICENSE')), true, 'the estate register names this repo Apache-2.0; the LICENSE must be present');
const licence = readFileSync(join(ROOT, 'LICENSE'), 'utf8');
assert.match(licence, /Apache License/, 'the LICENSE must be the Apache License text');
assert.match(licence, /Version 2\.0/, 'the LICENSE must be Apache-2.0');
assert.equal((licence.match(/Copyright 2026 Flashy Labs/g) || []).length, 1, 'the LICENSE must name the holder — Copyright 2026 Flashy Labs — exactly once');
assert.equal((licence.match(/Copyright 2026 Agente Labs/g) || []).length, 1, 'the LICENSE must name the holder — Copyright 2026 Agente Labs — exactly once');
const readme = readFileSync(join(ROOT, 'README.md'), 'utf8').trimEnd().split('\n');
assert.equal(readme.at(-1), 'Licensed under Apache-2.0 (holder Flashy Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.');
assert.equal(readme.at(-1), 'Licensed under Apache-2.0 (holder Agente Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.');
assert.match(readFileSync(join(ROOT, 'README.md'), 'utf8'), /Status: draft/);
assert.match(readFileSync(join(ROOT, 'SPEC.md'), 'utf8'), /Status: draft/);
});
Expand Down
2 changes: 1 addition & 1 deletion test/site-readme.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
const readme = readFileSync(join(ROOT, 'README.md'), 'utf8');

const LICENCE_LINE =
'Licensed under Apache-2.0 (holder Flashy Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.';
'Licensed under Apache-2.0 (holder Agente Labs); the estate register in flashyos `tools/estate-licences.mjs` is the authority.';

test('the H1 is the first line and names the contract', () => {
assert.ok(readme.startsWith('# agentpay — `pay-policy/1`'), 'the H1 must be the first line and name the contract');
Expand Down
Loading