Login
Card examples
Login

Each directory has a build.sh that takes an empty directory and makes its Fossil repositories there. It needs a POSIX shell and fossil. now.txt fixes the clock. cards/ holds JSON definitions for card/NAME wiki pages. The builder places most in a.fossil (Alpha), some in b.fossil (Beta), and defines active differently in both. expected/PROJECT.NAME.json holds the answer to card PROJECT NAME for login stone, with every .fossil in that directory read together. cards reads definitions from every repository and orders them by project then name.

Stone's C bridge can run each builder, answer each card from the made repositories at the time in now.txt, and compare parsed JSON with the matching expected file. The order of items matters. The example includes two projects with records and one repository with no forum post. Its milestones card shows that a repository without a due column contributes no items; b.fossil has that column. The stored check-in tags are made by Fossil both with --raw and without it.

The forum posts and tickets are reconstructed from Fossil artifacts; check-ins, tags, and wiki pages use Fossil commands. The recent card finds two threads, reports a count of two, and shows one item because its limit is one. The fieldless card names a field, due, that forum posts do not have, so it finds no items, as a missing table or column gives none. The Crystal spec rebuilds every repository and checks that every card still answers the same way.