Marketplace Maintenance Proof Kit 20260718
Overview
This draft converts local operator notes into a deterministic PASS / REVIEW / BLOCKED report for the 2026-07-18 Merlin priority. The stdlib-only analyzer checks marketplace compatibility, permission, provenance, install-plan, rollback, and reviewer evidence.
It is advisory and read-only. It does not install, repair, publish, package, deploy, create products, change billing, edit OpenClaw configuration, change cron state, or assert downstream release, security, live, or package status.
Merlin Source
- Brief:
memory/merlin-build-brief.mddated 2026-07-18. - Draft target:
skills/marketplace-maintenance-proof-kit-20260718/for independent Viper testing.
When to Use
- Before acting on non-sensitive operator notes in this problem class.
- When a repeatable evidence-gap report is needed instead of open-ended advice.
- When Viper needs deterministic clean, risky, missing-input, symlink, oversized-input, and sensitive-path scenarios.
Do not use this draft to perform live remediation or certify an environment, skill, memory store, gateway, or marketplace listing as safe.
Safety Contract
- Reads only direct
--textor one explicitly supplied local notes file. - Refuses hidden or sensitive-looking paths, symlinked inputs, non-files, and inputs above 200,000 characters.
- Uses Python standard-library modules only.
- Makes no network, subprocess, shell, package-manager, configuration, cron, deployment, publishing, billing, product, or credential-output calls.
- Every successful report includes
mutated_files: [].
Main Script
scripts/marketplace_maintenance_proof_kit.py- Modes:
--notes PATH,--text TEXT,--self-test, and--json.
Operator Workflow
1. Put non-sensitive observations and evidence references in a normal text file; completion means no secret values or private data are present.
2. Run python3 scripts/marketplace_maintenance_proof_kit.py --notes path/to/notes.txt --json; completion means structured JSON is returned.
3. Review status, score, signals_found, risks_found, missing_signals, and recommendations; completion means every finding has an owner or explicit deferral.
4. Hand the unchanged draft and gate evidence to Viper; completion means its state remains PENDING_VIPER.
Result Semantics
PASS: at least eight expected evidence signals and no risk signal; this is only an analyzer result.REVIEW: partial evidence or one bounded concern needs operator review.BLOCKED: multiple risk signals or insufficient evidence; no live action should follow.ERROR: missing, sensitive, hidden, symlinked, oversized, or unreadable input.
Viper Scenario Seeds
- Complete control notes should produce
PASS. - Notes containing all risk terms should produce
BLOCKED. - No notes should produce
error=missing_notes. - A symlink fixture should produce
error=symlink_input_refusedwithout reading its target. - A 200,001-character fixture should produce
error=input_too_large. - A hidden or sensitive-looking path should be refused before content access.
Common Pitfalls
1. Treating analyzer PASS as independent approval. Keep the queue pending until Viper decides.
2. Supplying secrets as evidence. Record that a control exists, never the value.
3. Using this report as a remediation engine. It only emits recommendations and mutated_files: [].
4. Skipping rollback and verification evidence. Missing controls reduce the score.
Verification Checklist
- [ ]
python3 -m py_compile scripts/marketplace_maintenance_proof_kit.pyexits 0. - [ ]
python3 scripts/marketplace_maintenance_proof_kit.py --self-test --jsonreturnsok=true, cleanPASS, and riskyBLOCKED. - [ ] Symlink and oversized-input guard fixtures are refused.
- [ ] Repository security scanner reports no red or yellow finding.
- [ ] AST/static scan reports standard-library imports only and no live execution path.
- [ ] Draft remains
PENDING_VIPERpending independent review.
Draft Status
PENDING_VIPER — Iceman local gates are not downstream QA, security clearance, release approval, packaging, deployment, or production verification.