Record net-kingdom's Emission Cadence declaration and fix the stale digest (INFO-WP-0029)
net-kingdom published the first source-owned declaration (116643f). It passes emission-review. Record it as feedback, and file its session-scoped-silence incompatibility as demand/EmissionActivityScope.md. T02 is done, and T04 is in progress until activity-core answers. The adoption brief sent owners the 0.1.0 draft digest, because the candidate promotion changed the standard's text after the digest was taken. The export manifest also hard-coded status "draft". The manifest now derives status and version from the standard, a test pins that, and the brief names the candidate digest b08b4d95fc4b0bd3. The wire schema is unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 121421@bnt-lap001 Assistant-Session: 36f8657c-ebfa-4a2e-9ba0-bff06738f233
This commit is contained in:
parent
146e461355
commit
038677ab53
7 changed files with 213 additions and 7 deletions
|
|
@ -72,10 +72,17 @@ def export_emission_bundle(root: Path, destination: Path) -> dict:
|
|||
"standards/emission-cadence/InfoTechCanonEmissionCadenceStandard.md",
|
||||
"standards/emission-cadence/examples/qonto-assistant.yaml"]
|
||||
files = {path: (root / path).read_bytes() for path in paths}
|
||||
manifest = {"contract": "emission-cadence/0.1", "status": "draft",
|
||||
# Status and version come from the standard itself, so a promotion cannot
|
||||
# leave the manifest describing an earlier maturity.
|
||||
standard = files[paths[1]].decode()
|
||||
header = re.match(r"---\n(.*?)\n---", standard, re.S)
|
||||
fields = dict(re.findall(r"^(status|version):\s*(\S+)", header.group(1) if header else "", re.M))
|
||||
manifest = {"contract": "emission-cadence/0.1", "status": fields.get("status"),
|
||||
"document_version": fields.get("version"),
|
||||
"files": {name: hashlib.sha256(data).hexdigest() for name, data in files.items()},
|
||||
"semantic_checks": ["unique source_id in sources"],
|
||||
"adoption_evidence": "Two independent source-owned implementations required; example does not count."}
|
||||
"adoption_evidence": ("Stable requires two source-owned declarations from independent owners "
|
||||
"and one observer result from a third party; example does not count.")}
|
||||
files["manifest.json"] = (json.dumps(manifest, sort_keys=True, indent=2) + "\n").encode()
|
||||
output = io.BytesIO()
|
||||
with tarfile.open(fileobj=output, mode="w", format=tarfile.USTAR_FORMAT) as archive:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue