Move tool profiles to a root file and version the release as 0.5.0
- Tool profiles come from a committed `.napseer-tools.json` at the
project root (schema napseer.tools.v1). The unreleased tool_profiles
field in .napseer/project.json is removed: released clients reject
unknown locator fields, and 0.4.0 treats any extra file inside .napseer/
as private state needing migration (a test loads the released 0.4.0
check from c427e24 to prove the root file is invisible to it).
Environment still overrides; unusable files warn and fall back to core.
- CLI release 0.5.0 with distribution contract 2026-09-29; the minimum
supported contract stays 2026-09-10. The newer-contract rejection test
now derives its date from the installer's own contract.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d86610da8e
commit
611a4571f3
@@ -1,4 +1,5 @@
|
||||
import importlib.util
|
||||
import datetime
|
||||
import hashlib
|
||||
import json
|
||||
import pathlib
|
||||
@@ -513,11 +514,16 @@ def test_manifest_accepts_a_future_compatible_release():
|
||||
def test_manifest_rejects_a_minimum_contract_newer_than_installer():
|
||||
module = load_installer()
|
||||
manifest, _payloads = fake_bundle(module)
|
||||
manifest["contract"]["current"] = "2026-09-11"
|
||||
manifest["contract"]["minimum_supported"] = "2026-09-11"
|
||||
# One day past this installer's own contract, whatever it currently is.
|
||||
newer = (
|
||||
datetime.date.fromisoformat(module.CLI_DISTRIBUTION_CONTRACT_VERSION)
|
||||
+ datetime.timedelta(days=1)
|
||||
).isoformat()
|
||||
manifest["contract"]["current"] = newer
|
||||
manifest["contract"]["minimum_supported"] = newer
|
||||
for item in manifest["items"]:
|
||||
item["contract_version"] = "2026-09-11"
|
||||
item["minimum_contract_version"] = "2026-09-11"
|
||||
item["contract_version"] = newer
|
||||
item["minimum_contract_version"] = newer
|
||||
|
||||
try:
|
||||
module.validated_manifest_items(manifest)
|
||||
|
||||
Reference in New Issue
Block a user