REQ-MOB-010: BarcodeScreen.tsx — barcode scanner via react-native-camera REQ-VIZ-001: WeeklyCalorieChart.tsx — 7-day bar chart on History screen REQ-VIZ-002: Streak tracker — GET /meals/streak + HomeScreen badge REQ-UX-001: Quick-add calories — POST /meals/quick-add + QuickAddScreen REQ-UX-002: Food favourites — UserFoodMemory.favourite + toggle endpoint + FoodRow star REQ-UX-003: GoalBanner.tsx — in-app slide-in when daily target hit REQ-EXP-001: ExportController — GET /export/meals CSV download REQ-WTR-001: Water tracking — WaterEntry entity + POST/GET /water + DailyDetails widget REQ-UX-004: Daily logging reminder — HomeScreen after-18:00 banner Also: Flyway V2 (favourite), V3 (water_entries), V4 (source constraints) Traceability, CHANGELOG, PLAN updated after each feature
5.4 KiB
Agent files use atomic sentences. One concept per sentence. Maximum 80 characters per line.
Agent Standards - Layer 1
Module: Agent Standards Component: Layer 1 (Atomic Markdown Agent) Load: When working on virsaitis-agent/ or .github/agents/ Version: 3.0.0 Updated: 2026-04-20
Machine Policy
[AGENT_FORMAT]
FORMAT=markdown
SENTENCE_STRUCTURE=atomic
ENCODING=utf8_no_bom
LINE_LENGTH=80_chars_max
[FILE_OPERATIONS]
GITHUB_FOLDER_WRITE=prohibited_except_skills
AUTOMATED_FORMATTERS=prohibited
CREATE_FILE_TOOL=allowed_outside_github
Atomic Sentence Construction (TIER-0)
Definition: One sentence expresses exactly ONE concept.
Characteristics:
- Single subject-verb-object relationship
- No compound clauses ("and", "but", "which" joining ideas)
- No nested dependencies or implicit references
- Standalone comprehensibility
WHY: AI models comprehend atomic sentences 30% more accurately than compound sentences.
Good vs Bad Examples
GOOD (Atomic):
You must validate file existence.
File validation prevents NotFoundError.
Run validation before modification.
Use read_file tool for validation.
BAD (Compound):
You must validate file existence before modification to
prevent NotFoundError, and this should be done using the
read_file tool which checks both path and permissions.
Four concepts in one sentence. Split into four atomic sentences.
Markdown Format Requirements
FILE FORMAT:
- Extension:
.mdor.agent.md - Encoding: UTF-8 without BOM
- Line endings: LF (not CRLF)
- No trailing whitespace
- Single newline at end of file
HEADINGS:
- H1: Document title only (one per file)
- H2: Major sections
- H3: Subsections
- Always space after hash:
## Title
LISTS:
- 2-space indent for nesting
- Ordered lists for sequential steps
- Unordered lists for non-sequential items
PROHIBITED:
- Tabs for indentation
- Multiple consecutive blank lines
- Automated formatters (Prettier, markdownlint)
- Spell checkers are OK (no structural changes)
.github Folder Governance (TIER-0)
The .github/ folder controls Virsaitis governance behavior.
Uncontrolled changes to agents, modules, or instructions undermine enforcement.
Changes outside .github/skills/ require the override workflow.
EXCEPTION: .github/skills/ — AI may create and update skill files.
CONSEQUENCE:
- Governance integrity cannot be guaranteed
- System must be re-validated manually
- Remediation: revert changes, validate all governance files
Agent File Workflows (TIER-0)
Creation
- Generate agent content in memory
- Validate atomic structure (one concept per sentence)
- For files outside
.github/: usecreate_filetool directly - For files inside
.github/: provide code block to user for manual creation - Verify file content after creation
Modification
- Read existing file content (entire file)
- Draft changes maintaining atomic structure
- Use
replace_string_in_filewith 3-5 lines context - Verify no sentences merged accidentally
IMPORTANT: Files in .github/ (except .github/skills/) require the override workflow.
Validation Checklist
EACH SENTENCE MUST:
- Express one concept only
- Have clear subject and verb
- Be understood without prior sentence
- Be under 80 characters (recommended)
- Contain no compound clauses
CONCEPT COUNTING: Read aloud. If you pause mid-sentence, split there.
COMMON FIXES:
- "and" joining concepts → split into two sentences
- "which"/"that" adding details → new sentence with explicit subject
- Implicit "it"/"this" → repeat the noun
Agent File Structure
REQUIRED SECTIONS (in order):
- Anchor line (governance rule, not title)
- Title + metadata
- Machine-readable policy block
- TIER-0 rules (safety-critical)
- TIER-1 rules (important operations)
- TIER-2/3 rules (quality/info)
- Workflow patterns
- Sandwich close (key rules summary)
ATTENTION ENGINEERING:
- Anchor line: highest-attention position (line 1)
- Sandwich close: recency zone (last 10 lines)
- Tripwires: every ~60 lines in middle sections
- Different wording from other sources (CT-3)
Change Management
MUST UPDATE agent files when:
- New TIER-0 rule added
- Existing rule modified
- Enforcement consequence changed
- New component integration
- Security policy updated
UPDATE PROCESS:
- Draft new content (atomic sentences)
- Validate atomic structure
- Update version number and date
- Add CHANGELOG entry
- Commit with REQ-ID reference
Quick Reference
| Aspect | Standard | Violation |
|---|---|---|
| Sentences | One concept only | Multiple concepts |
| File Creation | Tools outside .github, manual inside | Direct .github modification |
| Encoding | UTF-8 no BOM | UTF-8 with BOM |
| Line Length | <80 chars | >120 chars |
| Formatting | Manual only | Auto-formatter |
Agent Standards Module v3.0.0 Atomic sentence construction for maximum AI comprehension
Key Rules From This Module
- One concept per sentence. No compound sentences in agent files.
- Maximum 80 characters per line. Break at natural points.
- Files in
.github/(except skills/) require the override workflow. - Every agent file must have an anchor line, sandwich close, and tripwires.
- Definitions:
.github/virsaitis-definition-library.md
Return to hub: .github/copilot-instructions.md