docs(changelog): add root CHANGELOG.md overview across Cobalt entries - #201
Conversation
Adds a one-page, per-hardfork summary that ties together the three existing changelog/cobalt/ entries (scheduled multiplier updates, seize surface, composite policies) with a migration checklist, and links it from the root README ahead of the detailed changelog/ index. Co-Authored-By: Claude <noreply@anthropic.com>
Interface Coverage✅ All interface functions have test coverage. |
📊 Forge Coverage (
|
| File | Lines | Stmts | Branches | Funcs |
|---|---|---|---|---|
| 🟡 B20FactoryLib.sol | 97.70% | 98.00% | 100.00% | 95.00% |
| 🔴 test/lib/ForceFeeder.sol | 0.00% | 0.00% | 100.00% | 0.00% |
| 🔴 test/lib/PrecompileProbe.sol | 0.00% | 0.00% | 0.00% | 0.00% |
| 🟢 MockActivationRegistry.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟢 MockActivationRegistryStorage.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟢 MockB20.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟢 MockB20Asset.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟡 MockB20Factory.sol | 98.96% | 99.10% | 100.00% | 100.00% |
| 🟢 MockB20Stablecoin.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟢 MockB20Storage.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| 🟡 MockPolicyRegistry.sol | 100.00% | 99.54% | 97.67% | 100.00% |
| 🟢 MockPolicyRegistryStorage.sol | 100.00% | 100.00% | 100.00% | 100.00% |
| Total | 97.07% | 97.52% | 98.16% | 97.00% |
Full report: download artifact. To browse locally: make coverage (runs forge coverage + genhtml + opens the HTML report).
Restructure into labeled sections (Status, Compatibility, Summary of changes, Migration guidance) instead of bolded run-in labels, and cut redundant phrasing for a more direct, reference-doc tone. Co-Authored-By: Claude <noreply@anthropic.com>
✅ Fork tests: all 721 passedbase/base is fully in sync with the base-std spec. |
robriks
left a comment
There was a problem hiding this comment.
nice, this looks great.
for my own understanding, the root CHANGELOG.md file will be used as a forward-looking cursor pointing at the upcoming hard fork's changes? ie when Cobalt goes live, that file will start pointing at upcoming Denim changes?
Drop the per-hardfork subdirectory in favor of one flat file per scoped feature change, named <hardfork>_<feature>.md (e.g. cobalt_multiplier.md, cobalt_seize.md, cobalt_composite_policy.md). Update changelog/README.md's layout rules and index, and the root CHANGELOG.md links, to match. Co-Authored-By: Claude <noreply@anthropic.com>
Rename changelog/*.md to <ordinal>_<Hardfork>_<Product>_<feature>.md (e.g. 02_Cobalt_B20Asset_multiplier.md), so sort order is correct-by-construction as more hardforks ship, and the Product token matches the PascalCase directories already used under docs/ and test/unit/. Add a hardfork-ordinal registry table to changelog/README.md (01=Beryl, 02=Cobalt) and update its layout rules and index, plus the root CHANGELOG.md links, to match. Scheme chosen from a council of independent proposals (scalability, discoverability, tooling, repo-consistency lenses) synthesized into this hybrid. Co-Authored-By: Claude <noreply@anthropic.com>
Apply Google's developer documentation style guide across every changelog doc: active voice, present tense, second person, sentence- case headings, contractions, and "for example"/"that is" in place of Latin abbreviations. Normalize stray typographic characters (non- breaking hyphens, em dashes, equivalence symbols) to plain ASCII. No technical content changes -- every selector, topic0, error code, and table structure is verified byte-identical to the prior version. Co-Authored-By: Claude <noreply@anthropic.com>
…cit table Replace the flat Hardfork/Feature/Product table with a collapsible <details> block per hardfork, each holding a table keyed on the real affected src/interfaces/*.sol path(s) rather than a loose product label. A change spanning multiple products via a shared interface (the seize surface, defined on IB20.sol and inherited by IB20Asset.sol and IB20Stablecoin.sol) gets exactly one row listing both products and the inheritance chain, instead of being duplicated or hidden behind a synthetic grouping. Format chosen from a council of independent proposals (hierarchy, contract-explicitness, scalability, consistency-with-this-file lenses), synthesized into this hybrid. Co-Authored-By: Claude <noreply@anthropic.com>
robriks
left a comment
There was a problem hiding this comment.
nice, I think this is the right structure we should commit to.
is the ordinal system truly necessary? seems like we dont' need to prepend 02 to the file names (as 02_Cobalt_interface_feature.md) when Cobalt is already in the name
|
#201 (review) |
Summary
CHANGELOG.md— a one-page, per-hardfork overview that ties together the three existing per-feature entries underchangelog/cobalt/(scheduled multiplier updates, seize surface, composite policies), plus a migration checklist.README.mdChangelog section to link the new overview first, then the detailedchangelog/index for full mapping tables and edge-case Q&A.Requested by Conner/Sohe: the individual per-feature changelogs are good, but there was no higher-level summary tying them together.
Test plan
CHANGELOG.mdandREADME.mdresolve to existing files