Borrowing it
Nothing to install: this file belongs to tmusser/chart-contract. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tmusser/chart-contract/main/AGENTS.mdgit clone --depth 1 https://github.com/tmusser/chart-contractWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/tmusser/chart-contract/agents-md)<a href="https://agentmods.dev/instructions/tmusser/chart-contract/agents-md"><img src="https://agentmods.dev/badge/instructions/tmusser/chart-contract/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/tmusser/chart-contract/agents-md"><img src="https://agentmods.dev/badge/instructions/tmusser/chart-contract/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.02276 | $0.02276 |
| Opus 5.5 | $0.00910 | $0.00910 |
| Sonnet 5.5 | $0.00455 | $0.00455 |
| Haiku 4.5 | $0.00228 | $0.00228 |
Grade A, and why
chart-contract AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
- Preserve the v0.1 scope in
artifacts/SPEC.md. - Do not add UI, dashboards, or extra chart types without updating
artifacts/SPEC.md. - Keep
process_treea rooted, acyclic structural intent; do not silently broaden it into a general graph, DAG, swimlane, or cyclic flowchart engine. - Treat process-tree geometry as schematic: only parent-child topology, direction, labels, and optional branch text are authoritative.
- Prefer deterministic audit rules over vague judgment.
- Keep warnings explainable.
- Do not claim causality unless evidence supports it.
- Preserve the exact analytical claim in first-party rendered specs as
usermeta.claim, independent of display title. - If an audited spec carries
usermeta.claim, do not silently substitute a different out-of-band claim; an exact mismatch must remain a deterministic failure. - Treat a matching embedded claim as identity/provenance only, not evidence that the claim is true or supported.
- Do not mutate or fetch external data.
- Do not silently truncate quantitative scales or normalize values. For external Vega-Lite specs, require explicit
usermeta.user_requested_scale_override=trueorusermeta.user_requested_normalization=truebefore those transformations can pass the policy audit. - Treat user-request metadata as a declaration, not proof that the user actually requested the transformation.
- A truncated quantitative bar baseline remains a visual-integrity failure even when user-request metadata is present.
- Never infer percent representation from observed value ranges. When percent presentation is explicit, require
value_representationto distinguish fractional values from percentage-point values. - Do not rescale percent data to obtain a passing audit. Preserve raw values and use display formatting that matches the declared representation.
- Do not treat a generic
rateunit as percent; rates may use unrelated denominators or scales. - Do not infer metric identity or definition stability from a column name, title, unit, claim, or source string; metric-definition metadata is explicit and opt-in.
- When a metric basis field is declared, mixed or mismatched metric versions block rather than being treated as comparable observations.
- Treat matching metric-definition metadata as identity consistency only, not proof that upstream computation implemented the declared business definition.
- Do not assume a stable metric field/definition implies a stable filtered or cohort universe; analysis-scope identity is explicit and opt-in.
- When a scope basis field/value is declared, mixed or mismatched row-level scope identities block rather than being treated as comparable evidence.
- Treat matching analysis-scope metadata as identity consistency only, not proof that upstream SQL, cohort membership, or filter predicates implemented the declared scope.
- Do not infer source measurement units from displayed labels, field names, geography, or value ranges; source/display unit identity is explicit metadata.
- Never equate unavailable values with observed zero. Declared missing/suppressed rows must carry null metrics; structural-zero rows must contain numeric zero. Preserve source row states and fail on contradictions.
- Recompute observation-state counts from the full evidence, not from the rendered subset; do not invent missingness mechanisms or claim visual gap presentation is proven by metadata.
- Never silently convert values to make a unit contract pass. Fixed-scale conversions must preserve original source values and reproduce the declared factor against supplied evidence.
- Treat matching fixed conversion arithmetic as a reproducible receipt only, not validation of FX provenance, inflation methodology, time-varying rates, or offset conversions.
- Do not equate chart row count with sample size; aggregated evidence can summarize many sampled units. Only reconstruct sample size when an explicit sample-member field is supplied.
- Treat population and sampling metadata as scope/provenance, not proof of representativeness, random selection, nonresponse validity, or unbiased population inference.
- Population generalization is explicit metadata in v1. Convenience/quota/unknown/other sampling plus declared generalization requires review. Missing population metadata may also REVIEW only for the bounded explicit phrases
sample of,sampled from,survey respondent(s), orcensus of; do not broaden this into arbitrary population-language NLP. - Sampling weights must be inspectable positive finite values when declared, but passing weight checks do not certify calibration, design effects, or variance estimation.
- Treat error bars as explicit semantic contracts, not generic uncertainty decoration: preserve estimate/lower/upper fields, interval kind, level, and method together.
- Require uncertainty bounds to be complete, finite, numeric, and contain the estimate; do not repair or reorder malformed intervals automatically.
- When interval metadata is declared, the visible spec must actually bind the declared lower/upper fields; metadata-only uncertainty is not enough.
- Do not infer statistical significance, hypothesis-test conclusions, calibration, or coverage from interval overlap/non-overlap or a passing interval contract.
- Treat control-total reconciliation as arithmetic over supplied component evidence, not proof that the component taxonomy is conceptually complete or that the declared control source is authoritative.
- Do not silently synthesize Unknown/Other/balancing components to force reconciliation. Surface the residual and require upstream resolution.
- Fixed v1 reconciliation uses sum semantics only; do not reconcile percent/rate/ratio values by summing them.
- Reconciliation does not replace rank/top-N omission rules: full supplied evidence may reconcile while a truncated display still requires explicit comparison-set treatment.
- Do not infer numerator, denominator, or cohort identity for ratio-like metrics from field names, claim text, or observed values; missing semantics may require review, while contradictory declared semantics block.
- Treat a declared denominator basis field as semantic identity, not denominator magnitude: different row counts are allowed, but mixed identities such as
visitorsandsignupsunder one metric must not pass. - Do not describe a matching ratio contract as proof that numerator/denominator arithmetic or cohort membership is correct upstream.
- Do not collapse absolute delta, percentage-point change, percent change, and ratio into one generic “change” semantic; preserve the declared arithmetic mode.
- A comparison baseline must resolve to explicit supplied observations; do not infer a hidden baseline from row order, chart position, or prose alone.
- Treat stored comparison metric values and computed change as reproducible receipts, not proof that the chosen baseline is analytically appropriate.
- Do not equate an increase with improvement or a decrease with deterioration. When evaluative wording matters, require explicit metric directionality plus an explicit comparison baseline.
- Keep directionality parsing deliberately narrow: better/improved versus worse/worsened/deteriorated. Descriptive increase/decrease wording is not an evaluative judgment.
- Treat
neutraldirectionality as a declaration that chart-contract should not label movement as better or worse; evaluative claims against neutral metrics block. - Do not infer a business target from metric directionality, the latest row, chart position, title text, or a target-looking value; target semantics are explicit and separately contracted.
- Target contracts select exactly one supplied observation and use only
at_least,at_most, orequalwith optional absolute tolerance; do not silently choose a reporting point. - When target metadata is declared, preserve a visible threshold rule and durable observed-value/gap/status receipts; do not keep metadata after the line or evidence changes.
- Treat met/missed-target claim parity as semantic consistency only, not proof that the target is authoritative, material, achievable, or statistically meaningful.
- Treat source grain as row identity: declared grain fields must be non-null and unique; do not silently deduplicate duplicate grain keys.
- Do not collapse a finer source grain into a coarser displayed grain without an explicit aggregation operation; never guess sum versus mean versus another reducer.
- Treat matching grain/aggregation receipts as structural consistency only, not proof that the declared business key or aggregation is substantively correct.
- Do not infer full-period, month-to-date, or rolling-window semantics from labels alone; temporal baseline comparisons should declare exact window boundaries.
- Never auto-prorate or normalize unequal comparison windows to make them pass. Unequal rolling durations block; complete calendar periods with different day counts require review.
- Treat completeness flags as declared period state, not proof that upstream ingestion is actually complete.
- Parse claim wording only for narrow explicit numeric percent/percentage-point/ratio phrases; do not expand this into open-ended NLP adjudication.
- Treat explicit Vega-Lite analytical transforms as part of the audited contract. Inventory their kind and exact location and require
usermeta.transform_contract.declaredto exactly match the detected transform-kind set. - A matching transform declaration is visibility/provenance only. Do not translate it into approval, user consent, analytical correctness, or evidence that chart-contract executed the transform.
- Do not evaluate arbitrary Vega-Lite expressions merely to make a transformed spec pass; preserve the boundary between structural transform auditing and data reconstruction.
- Require occurrence-level transform lineage receipts for auditable transforms. Receipts may hash exact structural payloads and expose bounded field lineage, but must never be described as execution proof or upstream provenance attestation.
- Regenerate lineage receipts only from the final spec structure; do not hand-edit receipt hashes to make stale metadata pass.
- Treat usable-row coverage as a visibility contract over fields required by the chart/spec. Do not describe a high coverage percentage as proof of representativeness or random missingness.
- Treat materially uneven group coverage as a human-review signal, not evidence that missingness caused the observed group difference.
- Do not invent coverage for transform-derived fields that cannot be deterministically reconstructed from the supplied evidence.
- Rank charts require one explicit row per category; do not silently aggregate duplicate categories to make a ranking pass.
- Top-N rank truncation must be explicit, preserve full source evidence in first-party specs, declare omitted-category counts, and include all exact metric ties at the cutoff rather than applying an arbitrary hidden tie-break.
- Deterministic category ordering inside equal metric values is display stabilization only; do not describe it as distinct analytical rank.
- Truncated rank charts must make omitted-category treatment explicit: exclusion and aggregation into Other are different analytical contracts.
- Treat omitted metric mass as a completeness receipt, not proof of category importance; excluding at least half of non-negative metric mass requires human review.
- An aggregate Other bucket is a summary bucket, not another analytical rank. Pin it after ranked categories and never sum percent/rate/ratio metrics into Other.
- Treat the machine-readable audit profile as descriptive ruleset metadata, not another audit or scientific approval artifact.
- Do not recompute a report binding to legitimize post-audit edits to findings or verdict fields; rerun the audit and emit a new report.
- Treat a saved-report audit-profile mismatch as stale policy identity that requires re-audit for current verification, not as proof that either policy is better or scientifically valid.
- Do not translate a matching audit-profile digest or a profile diff into a claim that a chart is safe, valid, compatible, improved, or scientifically sound.
- Keep package/tool metadata separate from semantic audit-profile identity so version-only drift does not masquerade as policy drift.
- Update
artifacts/VERIFY.mdafter changes. - Update
artifacts/HANDOFF.mdbefore ending a session.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago Changed · +5 lines · +156 tokens per session 9150e0838606
- 15d ago Changed · +4 lines · +135 tokens per session c550ed8db509
- 16d ago Changed · +3 lines · +96 tokens per session 4413aee5ebe3
- 18d ago Changed · +4 lines · +108 tokens per session 92471e75be15
- 19d ago Changed · +4 lines · +111 tokens per session f83ec04af61b
- 20d ago Changed · +4 lines · +162 tokens per session 7b901e75c272
- 21d ago Changed · +3 lines · +89 tokens per session 9f152b063843
- 23d ago Changed · +3 lines · +79 tokens per session 80bda9ce7389
- 24d ago Changed · +3 lines · +83 tokens per session 7760c94a21ed
- 26d ago First seen · 51 lines · 1,257 tokens per session scan A 2f813a0436c9
chart-contract AGENTS.md is an instructions file published in the GitHub repository tmusser/chart-contract (2 stars, last pushed 3d ago), licensed MIT. It adds 2,276 tokens to every session, about $0.0091 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
chart-contract AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| chart-contract AGENTS.mdtmusser/chart-contract | Instructions file | 2 | 3d ago | MIT | A | 2,276 | Codex, OpenCode |
| data-scientist copilot-instructions.mdrealnghon/data-scientist | Instructions file | 2 | 4mo ago | MIT | A | 373 | GitHub Copilot |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |