Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 24 additions & 41 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,24 @@
## Summary
- What does this PR do? (1–3 bullets)
- Why is this change needed?

## Jira / Tracking
- Jira: JVNAUTOSCI-XXXX (or N/A)

## Key Changes
- Backend:
- Frontend:
- Vontology / Knowledge:
- Docs:

## Testing
- [ ] Backend tests (note DB): `VON_DB_NAME=test_von_db` used
- Command/task:
- [ ] Frontend tests:
- Command/task:
- [ ] Manual checks (if relevant):

## Vontology / MCP (complete if applicable)
- [ ] No Vontology changes
- OR details:
- Concepts/predicates added/updated:
- Tooling changes:
- If an MCP tool was changed: updated all three implementations + manifest:
- [ ] `src/backend/mcp_server/mcp_stdio_server.py`
- [ ] `src/backend/mcp_server/mcp_server.py`
- [ ] `src/backend/integrations/internal_mcp/catalogue.py`
- [ ] `src/backend/mcp_server/vontology_mcp.json`

## Risk & Rollback
- Risk level: Low / Medium / High
- Rollback plan:

## Screenshots / UI Notes (if applicable)
- Before/after screenshots or a short description:

## Checklist
- [ ] No secrets or runtime data committed (check `data/`, `logs/`, etc.)
- [ ] Changes are scoped to the issue
## User outcome

What user or operational job improves, and why is the change needed?

## Material changes

Describe only the affected code, represented artefacts, data, or guidance.
Link the Jira issue or decision record when one governs the work.

If this adds a compulsory semantic gate or restriction, identify the specific,
credible, materially unacceptable outcome; the evidence or causal demonstration
that it is reachable here; and why the least restrictive bounded, observable,
and recoverable approach is inadequate. Scope the control to that failure mode.

## Evidence

What was actually run or inspected, and what scope does that evidence support?
Include the nearest faithful user path when the claim is user-visible.

## Decision boundary

State any human gate, unmerged experiment, activation step, unresolved
uncertainty, or follow-up needed. Do not mark inapplicable subsystems or tests
merely to complete a template.
Comment thread
witbrock marked this conversation as resolved.
54 changes: 7 additions & 47 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,9 @@
# Von - AI Development Instructions
# Von coding-agent instruction routing

This project is an AI-agent system for academic research (knowledge management, ontologies).
Follow these instructions to be productive and compliant with project standards.
[`AGENTS.md`](../AGENTS.md) is the sole repository constitution. Read it first
and use [`docs/design_index.md`](../docs/design_index.md) for progressive
disclosure.

## 1. Architecture & Boundaries
- **Core Principle**: "Vontology" (ontology graph) is the source of truth, not just the DB.
- **Backend (`src/backend/`)**: Python/Flask application.
- `vontology/`: Core logic for concepts and relationships.
- `server/`: Flask routes and API definitions.
- `integrations/internal_mcp/`: Gateway for MCP tool handling.
- **Frontend (`src/frontend/web/`)**: React/TypeScript application.
- **Data**: MongoDB is the persistence layer (`von_db` or `test_von_db`).

## 2. Development Workflow
- **Shell**: Use the native shell for the current host. On Windows, default to
PowerShell and do not use Bash-only syntax (`export`, POSIX path assumptions,
etc.) unless explicitly asked. On macOS/Linux, prefer the native POSIX shell
(`zsh`/`sh`) for shell probes and PATH-sensitive commands; use PowerShell only
when invoking `.ps1` scripts or testing Windows/PowerShell behaviour.
- **Package Manager**:
- Python: `pdm` (e.g., `pdm run pytest`).
- JS: `npm` (e.g., `npm run test`).
- **Running the App**: Windows/PowerShell: `./run.ps1`; macOS/Linux: `./run.sh`
unless specifically validating the PowerShell launcher.
- **Testing**:
- Backend: `pdm run python scripts/pytest_lanes.py recommend --git-diff origin/main --risk normal`, then run the suggested lane(s) or direct targets. Use `pdm run python scripts/pytest_lanes.py aggregate-plan` for broader shard coverage.
- Frontend: `npm run test:frontend`.
- **Critical**: Never run tests against accessing the production `von_db`.

## 3. Coding Conventions
- **Language**: Use **New Zealand English** spelling (e.g., "behaviour", "visualise").
- **Vontology-First**:
- **Read**: Use Vontology services/MCP tools to fetch data.
- **Write**: Use Vontology services/MCP tools to mutate data.
- **Avoid**: Direct raw MongoDB calls for ontology data unless writing low-level services.
- **Refactoring**: Implement the "3-strike rule". If code is repeated 3 times, refactor into valid helper in `utils/` or `services/`.
- **Error Handling**: Fail fast with diagnostic messages (expected vs actual).

## 4. Agent Specific Rules
- **Tooling**: Prefer MCP tools (Vontology, Jira) over direct code manipulation for data tasks.
- **Validation**: Check `get_problems` or `pyright` results after editing files.
- **Documentation**: Update `AGENTS.md` if discovering new critical patterns.
- **Git**: Keep changes small. Fast-forward merge into `main` after tests pass.

## 5. Key File Locations
- `src/backend/integrations/internal_mcp/catalogue.py`: Definition of internal tools.
- `AGENTS.md`: Detailed behavioral rules for AI agents.
- `tests/backend/`: Backend test suite (consult for API usage examples).
This file adds no independent rules. If agent-specific instructions duplicate
or conflict with the constitution, remove the duplicate rather than maintaining
a second policy surface.
Loading
Loading