Restructure plan.md: function signatures, resource links, dependency diagram, and project scaffolding tasks#7
Conversation
Co-authored-by: gvegayon <893619+gvegayon@users.noreply.github.com>
Co-authored-by: gvegayon <893619+gvegayon@users.noreply.github.com>
gvegayon
left a comment
There was a problem hiding this comment.
Thanks for the updates, @copilot. It would be great if you can take it a step further and create a mermaid diagram showing the dependencies between tasks. The final set of tasks is rather fundamental, so, although we can start programming without having the branch protection rules and others, I think we need to finalize those first.
Co-authored-by: gvegayon <893619+gvegayon@users.noreply.github.com>
Done in commit 4e48f2e. Added two things to
|
Incorporates @olivia-banks's suggestions and @gvegayon's feedback to evolve
plan.mdfrom a loose task list into a structured specification with typed function contracts, resource references, a dependency diagram, and explicit project-level tasks.Function summary table
Added a quick-reference table (placed before the detailed task entries) summarising each function's signature and input/output contract:
validate_yaml(yaml_content: str)dictbuild_menu(model_dict: dict)watch_parameters(model_dict, current_values)run_model(model_dict, parameters)list[dict](per-scenario results)generate_report(model_dict, results)save_as_pdf(html_content: str)store_model_state(model_dict, parameters)save_current_model(model_dict, current_parameters)Task dependency diagram
Added a Mermaid
flowchart TDdiagram showing the full dependency graph. The infrastructure block (Branch protection rules,AGENTS.md,Devcontainer, both GitHub Actions workflows) is shown as a mandatory prerequisite for all function implementation, withDevcontainerfeeding the two Actions workflows. Inside the function block, solid arrows show data dependencies and dashed arrows show the user-interaction trigger (build_menu→watch_parameters).Function contracts
Each task is expressed as a named function with typed
Input,Output, andSteps.Resource links added
ast.walkfor whitelisting safe AST node types in embedded Python snippets; SO YAML validation reference for schema approaches.matplotlibto reduce WASM dependency surface.window.print(). ReportLab licensing flagged for evaluation.localStorage/sessionStoragevia Streamlit's JS component API identified as the likely WASM-compatible path.YAML schema section
Added an explicit description of all required/optional top-level sections (
metadata,parameters,equations,tables,figures,current_parameters) with an annotated report template example.New project-level tasks
Added an "Other tasks (non-function)" section covering:
AGENTS.md— agent roles and conventionsuv.devcontainerconfiguration for reproducible dev environments💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.