Two days after cube design stepped up into a thin core, the first of the places it is applied moved out to a home of its own.
a part, not a peer
Cube screens is how cube design looks on a screen: the angular package every app takes its pieces from, the screen guide, the violations with their pictures, the regression cases. Until today it all lived inside cube design. Selim saw it differently now: not a peer of cube design but one implementation of it, a part of the cube with its own practice. “We created a cube which we called cube screens,” he said, “and we are collecting its pieces, its parts.”
The rule behind it is short. “A decision or a principle which applies to the cube screens only should not live in the cube design.” Cube design stays lean and free of any one domain; cube screens becomes its first graduate.
A study first laid the options side by side: keep the package where it is, move it into cube screens, give it a repo of its own, or move only the code. Selim had a guess (the package belongs with the screens) and asked to see the other ideas too. The study kept leave it where it is as a real option, and proposed the move with the package’s name unchanged, so no app would notice.
eight steps, side by side
The plan was cut into lettered steps, each with a handover prompt, so threads could run at once without talking. One moved the package with its whole history, every commit still traceable to the day it was written. One moved the screens pages: the principles, the guide, the violations, the gallery, the decisions. One built cube screens a website of its own, with a check at the end of every build that fails if its notebook (the test runs, the studies) ever ends up in what is published. Selim’s “there we will see what we want to release” became a check rather than a promise. One made cube screens a team in the company, one pointed the apps’ notes to the new home. And the package’s own release now runs the hold tests before anything ships.
Most of it landed within about half an hour. That had a side effect: one thread wrote bridging words (until it moves) that were stale before they merged, because the move had already happened. The lesson went into its notes: in a parallel move, write the end state, and merge after the steps.
Cube design keeps a tile for screens, and the tile leads out to cube screens’ own home: the package, the practice, the tests and a website.
a tile that leads out
The last step was letting go. Cube design deleted what it had handed over, and its screens tile became a link. Every old address forwards to the new site, tested on a preview before it was merged. The site’s builder learned one new idea for it, a piece that leads out: tapping it opens another cube, holding it still shows its names.
Selim’s picture for it: “the internet itself is also a cube … we could have many entry points to the same cube.”
the guard that caught its keeper
While the company’s roles were being pointed at the new home, a thread found that the company’s own website had not been built for two days. The build has a guard that stops it when anything confidential would be published, and it had caught the security expert itself: one of its runs had written the full path of a private file into its public notebook. Nothing secret went out. The path was shortened to the folder’s name, the build went green, and nobody had noticed earlier because the last good version simply stayed online. The guard did its job; what was missing was someone watching it.