返回 DeepSeek-Reasonix
REASONIX.md
根目录 / REASONIX.md
1 # Reasonix project memory
2
3 These standing instructions enter the cache-stable system prefix. Keep durable
4 project contracts here; use the linked documents for task-specific procedures.
5
6 ## Product and architecture
7
8 - Shared behavior belongs in the transport-agnostic `control.Controller` behind
9 CLI, HTTP/SSE, and Desktop. Package ownership and import boundaries are enforced
10 by `tools/repolint/layers.go`; package explanations belong in `doc.go`.
11 - Subagent boundaries: profile = worker policy/ceilings, `TaskSpec` = this call,
12 `CapabilityGrant` = permitted resources, `ContextRequest` = initial context,
13 `SchedulerPolicy` = scheduling. Keep per-call values out of profiles; see
14 `internal/agent/profile_boundary_test.go`.
15 - Keep the provider-visible system prefix and tool schemas byte-stable across
16 turns. Put changing state in the turn tail/session-context; standing-document
17 edits enter the prefix after reload/new session.
18 - For shared-state defects, fix the owning state/lifetime boundary. Group related
19 flags into named substates instead of multiplying independent booleans.
20 - Performance changes need evidence at the final provider, frontend, or trajectory
21 boundary through real assembly; `internal/boot/effect_test.go` is an example.
22
23 ## Execution and verification
24
25 Complete the authorized outcome and its relevant acceptance gates. A first patch
26 or focused green test is not completion when requested work remains. Continue
27 independent work when a gate is blocked, then report the missing evidence.
28
29 Local tests use disposable fixtures without production access. Run relevant
30 checks and fix failures introduced by the requested change without asking again.
31 Choose checks by changed behavior and blast radius; documentation-only work needs
32 content/link checks. Root Go tests do not cover the separate `desktop/` module.
33
34 Use ordinary commits and fast-forward pushes for review fixes. History rewrites
35 and force-pushes need explicit authorization and a freshly verified target.
36 A workflow document does not grant publication, merge, or release authorization.
37
38 ## Task references
39
40 - Build, tests, lint, code style, and PR metadata:
41 [CONTRIBUTING.md](CONTRIBUTING.md). Format changed Go files; retain required CI
42 checks. Budget exceptions require narrow, measured justification.
43 - Transcript viewport, virtualization, measurement, or scroll behavior:
44 [scroll contract](docs/TRANSCRIPT_SCROLL_CONTRACT.md).
45 - Standing instructions, imports, background facts, and memory scope:
46 [memory retrieval](docs/SESSION_MEMORY_RETRIEVAL.md).
47 - Release qualification and publication: [releasing](docs/RELEASING.md).
48
49 Write comments for non-obvious constraints or invariants, not code paraphrases.
50 Use the repository lint rules as the source of truth for mechanical limits.
51
51 lines MARKDOWN