Synthetic Philosophy and Deductive Engineering
This procedure is intended to enable maximal application of local LLMs to SPaDE, by providing a standard way of scheduling tasks which is consistent both with human and agentic completion by Copilot or local LLMs.
The procedure is under development and is likely to evolve continuously during the early stages of its adoption.
It is not yet in an acceptable state, and will not be good until at least one task has gone through the entire procedure successfully.
The procedure is presented in the following parts:
The basic idea is that tasks will be defined clearly by a specific task definition, to be read in the context of the other SPaDE project standards and procedures, and will be raised as a GitHub issue and appropriately assigned in that issue (not sure how, since we only have one github user account at the moment, probably has to be assigned to the project leader with more specific information in the task description as to what who needs to do it, possibly by citing a role).
It is anticipated that some kind of scheduler will then retrieve the issues ready for progression which can be undertaken by local LLMs and will present them for completion.
Task descriptions are effectively layered, there being an overall standard to task descriptions, more specific task descriptions for particular kinds of task and completely specific task descriptions for individual tasks. So for example, in addition to the general standards for task descriptions, there are many particular requirements on how specifications in ProofPower HOL are written and checked, and a procedure which details these is referred to by any task which involves writing or modifying such a specification.
Specific task descriptions will be placed in the project directory where the files produced or modified by the task are located. If the task involves producing a new document, then if possible the number of the document should correspond to the number of the task description.
docs/admin/amms001.md naming conventions (e.g., krtdxxx.md) describing the objective of the work, the steps necessary to realise that objective and the manner of checking the work, explicitly referring to key documents as needed.
Example:
# Task: Recast HOL TERMS for SPaDE
## Objective
Recast HOL TERMS specification from `spc003.pp`/`spc004.pp` into SPaDE's format.
## Steps
1. Extract relevant sections using `grep`.
2. Define SPaDE equivalents for HOL constructs.
3. Output plain text with formal specifications.
Ensure the document includes:
git worktree add -b task-recast-hol-terms ~/git/SPaDE-task-recast-hol-terms main
task tool with the document as input. The prompt path is the task document in that worktree:
task \
--name recast-hol-terms \
--agent-type general-purpose \
--mode background \
--prompt ~/git/SPaDE-task-recast-hol-terms/docs/admin/task-recast-hol-terms.md
grep, edit, view_range)Co-authored-by trailerread_agentnpm run lint, make test)gh pr create --title "Recast HOL TERMS for SPaDE" --body "See task description in docs/admin/task-recast-hol-terms.md"
See docs/admin/task-recast-hol-terms.md for a template.
read_agent to track task progress.read_agentThis procedure ensures tasks are reproducible, auditable, and aligned with SPaDE’s distributed development model.