Skip to content
Manual
PDF in preparation

FlowForge Manual

CHAPTER 03 EN

The Session Discipline

The ticket + timer + branch loop, the vitrine, and why every session is proof of work.

The Session Discipline

Everything in FlowForge hangs off one small, repeated loop: a session runs on a ticket, on a timer, on a feature branch. This chapter explains the loop and, more importantly, why it is the whole point rather than a chore.

The loop

/flowforge:session:start [ticket] → work → /flowforge:session:end "summary"
  • Start verifies the ticket, starts the timer, checks out the feature branch, and restores context.
  • Work happens with the clock running and the branch protecting main.
  • End stops the timer, writes a summary, and leaves a clean trail behind.

pause and end exist for the natural interruptions of a day. What never happens is work with no session.

A ticket is your vitrine

Vitrine means shop window. Your ticket is where your work is displayed.

  • Work with no ticket leaves no trace. It can’t be measured, can’t be seen, and won’t be counted when a raise or promotion is decided.
  • On a team, you are a resource to others, and showing your work is your responsibility, not theirs.
  • Scope one right-sized ticket per real deliverable — not five tickets for one feature (that reads as thrashing), and not one giant ticket for a month of work (that reads as a black box). One ticket, one shipped thing.

This is Rule #5, and it is the reason session-start refuses to run without a valid ticket.

The timer is the proof

FlowForge sells time-tracking: its customers track hours to generate reports for their clients. So FlowForge tracks its own hours the same way — eating its own dog food.

  • No timer, no record. An untracked hour is an hour you cannot invoice or defend.
  • The timer starts automatically at session-start, so the honest path costs you nothing.
  • Time is money: this is not a slogan, it’s the product’s core promise turned inward.

Branch, never main

Rule #18 is absolute: never commit directly to main or develop. Session-start always puts you on a feature branch (feature/<ticket>-work, or a milestone-scoped branch when milestone mode is active). Protected branches stay clean, releases stay safe, and every change arrives through a reviewable pull request.

The pre-flight checklist

A healthy session, every time:

  • Ticket open and verified
  • Timer running
  • On a feature branch (not main/develop)
  • Then — and only then — build

Session-start runs this checklist for you. If any item can’t be satisfied, it stops and tells you why rather than starting dishonest work.

Why it matters

The session discipline is what converts effort into evidence. A month of sessions is a queryable history of what you did, how long it took, and why it mattered — the raw material for reports, retrospectives, and the case that you deserve to be paid well. Skip the session and the work still happens; it just stops counting.