Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/XxYouDeaDPunKxX/Signal-Rail/llms.txt

Use this file to discover all available pages before exploring further.

02_protocol_freeze.txt holds the hardest material in Signal Rail. It is short, strong, and designed to resist change. Where 01_orientation.txt explains what the project is, 02 names the points that, if removed, would make the project stop being itself. Freeze entries are not preferences, not current solutions, and not strong-but-young ideas. They are principles that have already shown they hold over time — points whose removal or reversal would genuinely change the project’s identity.

What 02 is for

This file holds the identity constants of the project. Write here only the things you do not want to reopen easily because, if they fail, the project stops being itself. It should stay short, strong, and difficult to touch. The key question is: would the project still be recognisable if this point were removed? If the answer is no, the point may belong here. If the answer is uncertain, it does not belong here yet.

What goes here

ContentWhy it belongs here
Principles that still hold even when the project changes shape, tools, or working styleShould remain true even when the rest changes
Identity constraints that are more than just a good solution for todayDefine the project more than the current context does
Points that, if removed or reversed, would truly change the nature of the projectMark the line beyond which the project stops being itself

What does NOT go here

WhatWhere it belongsWhy
PreferencesNowhere in Signal RailDo not define the identity of the project
Current work state03_master_working.txtDescribes the present state, not identity constants
Live but contextual decisions04_decision_log.txtChoices already taken, not identity constants
Strong but still young ideas05_latent_ideas.txtNot yet stable enough to live here
Momentary detail, style, or temporary solutionNowhere in Signal RailDepends too much on current context
Things working now but not yet proven over time05_latent_ideas.txtValidate elsewhere first; may be a good phase, not a constant

Update rules

Update 02 only when:
  • A principle has already shown that it holds over time
  • You understand that without that point the project would lose identity
  • A freeze truly needs to be reopened because of a real break — not just a new preference
Do not update 02 often. Do not update it just because something looks important. Update it only when a principle has already shown it should stay stable over time.

Entry template

Maximum 5 active freeze entries. This limit prevents two mistakes: turning the file into a total summary of the project, and using it as a noble place for everything that sounds important. Local entries in 02 use only F-xx IDs (F-01 through F-05). If you reference D-xx, L-xx, or other external IDs, they remain references in links to; they do not become new local IDs here.
- id: F-01
- principle:
- why it is frozen:
- links to:
- reopening trigger:
Field guidance:
FieldWhat to write
idF-01 through F-05 — stable, never reused
principleShort and readable; the constant itself
why it is frozenWhat breaks if you lose it
links toA strong source, not noise
reopening triggerNarrow: not “if we change our mind” but “if real cases show…”

How to tell whether something deserves freeze

1

Ask the identity test

Would the project still be recognisable if you removed this point?
2

Ask the foundation test

Are you defending a foundation or only a good solution for today?
3

Ask the ownership test

Does this truly belong to the identity of the project, or does it belong to its current phase?
4

If any answer is unclear

Do not freeze it yet. Place it in 05_latent_ideas.txt until it proves it holds.

02 vs 04: freeze vs decision

This distinction matters because confusing these levels removes force from both files.
ConceptFileMeaning
Freeze02_protocol_freeze.txtA constant that should be difficult to reopen
Decision04_decision_log.txtA choice that has already been taken
Live work03_master_working.txtThe current state of the project
A decision can be reopened with the right trigger. A freeze is harder — reopening it requires evidence that a real break has occurred, not just a new preference. If you confuse these levels, 02 loses its force as an identity anchor.

Writing a good freeze entry

The reopening trigger should be narrow and evidence-based: not “if we change our mind” but “if real cases show that this principle prevents the project from functioning in its core purpose.” Vague triggers make freeze entries easier to circumvent.

Typical errors

  • Using freeze to give authority to material that is still too young
  • Freezing details that are only working well right now
  • Mistaking a good formulation for a project constant
  • Filling every slot just for the feeling of completeness

Orientation (01)

Project identity — the frame that 02 anchors most deeply.

Decision Log (04)

Choices already taken — the distinction from freeze that matters most.

Latent Ideas (05)

Where strong but unproven ideas belong before they earn freeze consideration.

ID Families Reference

Full reference for F-xx, D-xx, L-xx, P-xx, and A-xx ID families.

Build docs developers (and LLMs) love