Journal
Day one – setting the ground rules
What we did
- Named the project Roofus and agreed the aim: learn agentic AI by building a framework for running a small business.
- Agreed the working model: Simon directs, agents build, Claude trains and reviews (decision 0001).
- Created the private monorepo
method7/roofus(decision 0002). - Looked at how the Method7 site already pulls in shared code, and proposed publishing the journal the same way (decision 0003, accepted).
- Wrote the house rules every agent reads first (
CLAUDE.md), borrowing Method7’s: UK English, no em-dashes, plain English. - Opened the first tasks as GitHub issues.
What we learned
- A decision journal is not just documentation. Agents start every session with no memory, so the journal is how the project remembers.
- Small details of existing infrastructure decide architecture. Whether the shared package was public or private changed the whole publishing plan.
Later the same day
- Our first agent ran in the background: it audited the house rules across six Method7 projects (issue #7). The no-em-dash rule turned up in five of them and was checked automatically in none.
- Built our first skill,
uk-house-style(decision 0005). A test with a small model caught one vague rule, on money, which was then tightened. - Accepted decision 0004: Method7’s general rules move to one shared, public
repository,
method7/house-rules. - Review caught that the audit would have published a map of security weak spots. It now stays internal, and the worst of them was fixed the same day.
What we learned, round two
- Merging is approving. Once the journal mirror exists, a merge is a publish.
- Agents report success in the same tone whether or not they thought of everything. The audit agent removed hostnames, and missed that the whole security section was the sensitive part.
The afternoon
- Built
method7/house-rules, the shared rules repository, with an agent (issue #12). It is public, MIT licensed, and checks itself on every change. - Gave Roofus automatic checks on every pull request (issue #5): the shared em-dash check, and a check that every journal entry is well formed. A test pull request with a deliberate em-dash proved the check fails when it should.
- Turned on branch protection for both repositories (decision 0006). Nothing
reaches
mainwithout a pull request and passing checks, and nobody can bypass that, including Simon. A direct push was tried and refused. - Published the journal (issue #4, decisions 0003 and 0007). Merging to
mainnow copies the finished entries to the public mirror,method7/roofus-journal, by itself. Drafts and research never leave the private repository. - Agreed how pull requests are titled and when they are marked as drafts, after a title made a ready pull request look unfinished.
- Chose the design approach for the journal’s pages (issue #3, decision 0008). An agent wrote a design brief against the Method7 site’s own styles, and vetted four design skills from Anthropic, recommending one and turning down three. One skill told the agent to run its scripts without reading them, which our rules for outside code do not allow.
- Decided the journal goes in the footer of every page on method7.co.uk.
- Fixed a link in a published decision that pointed to a private file, and made the journal check reject that kind of link from now on.
- Sent an agent to build the
/journalsection on method7.co.uk (issue #24). Merging that work puts it on the live site, so it gets a preview and screenshots before anyone decides.
What we learned, round three
- Verify, don’t trust. Every agent report sounded the same whether or not it had caught everything. Each one was checked before it was passed on, and the checks found something most times.
- Copied settings break quietly. The branch protection copied from Roofus
to
house-rulesasked for checks that did not exist there, so nothing could ever have merged. It looked fine until it was compared with reality. - Give each key the smallest reach that works. The publishing key opens one
repository and can only be used from
main. The first attempt put it somewhere wider, and it was replaced within a minute. - Check that a merge happened. One pull request we believed was merged was still open. Nothing leaked, because the publish step had its own safeguard, which is the argument for having more than one.
- Names carry meaning. A pull request titled with
draft: trueread as a draft pull request. Plain words would have avoided it. - Someone else’s skill carries their taste. The most popular design skill lists “near-black with an acid-green accent” among the looks to avoid. That is Method7’s actual brand. A skill is a set of opinions, so the brief sets the direction and the skill only supplies the working method.
- Good checks find problems beyond their own task. The design agent, checking what the website’s link checker would reject, found a published link to a private file that no earlier review had noticed.
Next
- Review and preview the
/journalsection, then decide whether it goes live (issue #24). - Decide whether to adopt a “humanise copy” skill (issue #2).
- Decide the agent safety rules that were parked (issue #13).
Thinking about agents in your own business?
Tell me which jobs eat your week. I'll tell you plainly whether AI agents would help, and what building it would involve.