Repository navigation
Project plan and architecture: components, data flow, end-to-end workflows and the execution roadmap - #5
Closed
fasharif wants to merge 2 commits into
Closed
Project plan and architecture: components, data flow, end-to-end workflows and the execution roadmap#5fasharif wants to merge 2 commits into
fasharif wants to merge 2 commits into
Conversation
PROJECT-PLAN.md describes greenbench as it stands on main (harness 2.2.0): purpose, status and tech stack; functional and non-functional requirements traced to modules; the architecture, data store and design decisions (linking ADR 1 to 20); all 15 modules under the same 15 headings; end-to-end workflows with happy and failure paths for 9 features; cross-cutting concerns; and an 11-item execution roadmap with the decisions still open. Every claim was checked against the code, tests, CI and docs, and the 13 Mermaid diagrams render with mermaid-cli. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ruff format --check also formats Python code blocks in Markdown files, and the module example needed two blank lines before the class. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Closing: the project plan is kept locally instead of in the repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
PROJECT-PLAN.md, a single project plan and architecture document for greenbench as it stands onmain(79469ec, harness 2.2.0). It summarises and links to the README,docs/study.md,docs/decisions.md(ADR 1 to 20),docs/bare-metal.mdanddocs/results.mdrather than repeating them. A reader who reads only the plan can still follow it.What the plan covers
Overview: purpose and scope, current status (built, measured and published, pending, planned), a tech stack table with pinned versions, a system components diagram and a data flow diagram.
Requirements: 24 functional and 10 non-functional requirements. Each one names the modules that meet it and says whether it is built, partly built or planned.
Architecture: the style (a batch pipeline of command-line programs that hand off through files), the layers and boundaries, the runtime and CI topology, the file-based data store (
runs.csv,meta.json,environment.txt,summary.csv, the grid table and the generated docs), and what each ADR does to the architecture.Modules: all 15 modules (M1 to M15), from the workload core and the three workers through the harness, RAPL reader, analysis and report to the scripts, CI and test infrastructure. Each one uses the same 15 headings in order, from Purpose to Deployment. Headings that do not apply say "Not applicable" and give the reason.
End-to-end feature workflows: 9 features (F1 to F9): probe, measure a run, cross-language parity, the report and README block (including the withheld-timings mode), carbon, the bare-metal study, the Docker timing run, the smoke run and CI. Each has a trigger, preconditions, numbered happy-path steps and a sequence diagram. Each also has a failure-path table: where the failure is detected, the exact message and exit status, the state left behind, and how to recover.
Cross-cutting concerns: the security model (including the RAPL side channel, CVE-2020-8694), configuration, logging, performance, accessibility and internationalisation.
Execution roadmap: 11 prioritised items, each with files, dependencies, acceptance criteria and a size:
Dockerfilein CI;Five decisions follow (D1 to D5).
How it was checked
meta.jsonfields, test names and quoted error messages. It found no critical or major problems. All 14 minor corrections were applied. Examples: per-sort time and energy share one set of bootstrap draws, but the other estimates are resampled separately;counters_moveis ingreenbench.c, and the F2 diagram now shows the real call order; the missingpin_cpusandrapl_openmessages were added; the depth of thefind_repositorysearch is now correct. The three coverage gaps were also filled: the Node.jstsconfig.jsonandeslint.config.js, a happy path for--withhold-timings, and a roadmap row for building theDockerfilein CI.mermaid-cliin Docker, with no errors. They were rendered again after the F1 and F2 diagrams changed. The render outputs were not committed.🤖 Generated with Claude Code