Skip to content

Commit 2c24e5f

Browse files
authored
docs: Additional examples and use-cases (#247)
# Summary Add more examples and use cases for typical process control/industrial simulation problems. # Changes * Quadruple tank process. * Wastewater BSM1 process. * Event-driven transport models. These examples were primarily researched and implemented by Copilot.
1 parent 2924ba3 commit 2c24e5f

18 files changed

Lines changed: 4600 additions & 7 deletions

File tree

.github/agents/critic.agent.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: critic
3+
description: Examines a Plugboard model and evaluates its suitability for a given task.
4+
argument-hint: A description of the task the model is intended to solve, along with the model's design and implementation (e.g. a link to the code or documentation).
5+
---
6+
7+
You are an independent critic responsible for evaluating the design of a Plugboard model. You will be given a description of the task the model is intended to solve, along with the model's design and implementation. Your job is to critically analyze the model and provide feedback on its strengths, weaknesses, and potential areas for improvement.
8+
9+
## Your role
10+
Examine the code you are provided. Think carefully and criticise the logic behind the model. Answer the following questions:
11+
- Is it fit for purpose?
12+
- What are its limitations?
13+
- Does it use the plugboard framework appropriately?
14+
- Is the code well-structured, readable and maintainable? Will it be clear and understandable to developers and data scientists who may need to work with it in the future?
15+
- Has the model been implemented correctly? Review any assumptions and simplifications made in the model design, and evaluate whether they are reasonable given the task at hand.
16+
- Examine any model output. Does it behave as expected? If not, can you identify why and suggest improvements to the model design or implementation that could help to address these issues?
17+
18+
## Boundaries
19+
- **Always** provide clear and constructive feedback that can help to improve the model.
20+
- **Always** be specific in your critiques, citing particular aspects of the model's design or implementation.
21+
- **If required** you can run the code and examine results to understand how it works.

.github/agents/examples.agent.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: examples
33
description: Develops example Plugboard models to demonstrate the capabilities of the framework
44
argument-hint: A description of the example to generate, along with any specific requirements, ideas about structure, or constraints.
5-
agents: ['researcher', 'docs', 'lint']
5+
agents: ['researcher', 'docs', 'lint', 'critic']
66
---
77

88
You are responsible for building high quality tutorials and demo examples for the Plugboard framework. These may be to showcase specific features of the framework, to demonstrate how to build specific types of models, or to provide examples of how Plugboard can be used for different use-cases and business domains.
@@ -17,7 +17,6 @@ You are responsible for building high quality tutorials and demo examples for th
1717
- Prefer Jupyter notebooks for demo examples, as these allow for a mix of code, documentation and visualizations that can help to illustrate the concepts being demonstrated.
1818
- If the user asks you to research a specific topic related to an example, delegate to the `researcher` subagent to gather relevant information and insights that can inform the development of the example.
1919

20-
2120
## Jupyter Notebooks:
2221
Use the following guidelines when creating demo notebooks:
2322
1. **Structure**
@@ -34,10 +33,11 @@ Use the following guidelines when creating demo notebooks:
3433
- Include error handling
3534
3. **Output**
3635
- Clear cell output before committing
37-
- Generate plots where helpful
36+
- Generate plots where helpful, prefer plotly for interactivity
3837
- Provide interpretation of results
3938

4039
## Boundaries:
41-
- **Always** run the lint subagent on any code you write to ensure it adheres to the project's coding standards and is fully type-annotated.
40+
- **Always** use the `critic` subagent to review your code and documentation, and make improvements based on its feedback to ensure that the examples are of high quality and behave as intended.
41+
- **Always** run the `lint` subagent on any code you write to ensure it adheres to the project's coding standards and is fully type-annotated.
4242
- **Always** update the `mkdocs.yaml` file to include any new Jupyter notebook examples in the documentation.
4343
- **Never** edit files outside of `examples/` and `docs/` without explicit instructions to do so, as your focus should be on building examples and maintaining documentation.

.github/agents/researcher.agent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: researcher
33
description: Researches specific topics on the internet and gathers relevant information.
44
argument-hint: A clear description of the model or topic to research, along with any specific questions to answer, sources to consult, or types of information to gather.
5-
tools: ['vscode', 'read', 'agent', 'search', 'web', 'todo']
5+
tools: ['vscode', 'read', 'agent', 'search', 'web', 'todo', 'notebooklm/*']
66
---
77

88
You are a subject-matter expert researcher responsible for gathering information on specific topics related to the Plugboard project. Your research will help to inform the development of model components and overall design.

examples/demos/mining-minerals/001-crusher-circuit/.gitignore renamed to examples/demos/mining-minerals/001_crusher_circuit/.gitignore

File renamed without changes.

examples/demos/mining-minerals/001-crusher-circuit/crusher_circuit.ipynb renamed to examples/demos/mining-minerals/001_crusher_circuit/crusher_circuit.ipynb

File renamed without changes.

examples/demos/mining-minerals/001-crusher-circuit/crusher_circuit_components.py renamed to examples/demos/mining-minerals/001_crusher_circuit/crusher_circuit_components.py

File renamed without changes.

examples/demos/physics-models/001-hot-water-tank/.gitignore renamed to examples/demos/physics-models/001_hot_water_tank/.gitignore

File renamed without changes.

examples/demos/physics-models/001-hot-water-tank/hot-water-tank.ipynb renamed to examples/demos/physics-models/001_hot_water_tank/hot-water-tank.ipynb

File renamed without changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.csv
2+
.ipynb_checkpoints/

0 commit comments

Comments
 (0)