-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.lateregate.yaml
More file actions
73 lines (67 loc) · 2.87 KB
/
Copy path.lateregate.yaml
File metadata and controls
73 lines (67 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# The gate configuration for the template's own module.
#
# The skeleton carries one of these too, and it is the one consumers get. This
# file gates the generator that produces them, which has to hold the same bar:
# a template whose own build is looser than the build it ships is a template
# nobody should trust.
cover:
trim_prefix: latere.ai/x/service-template/
exempt:
cmd/template: >-
main() is flag parsing and os.Exit around the generator's run(), which is
tested directly through internal/generator
spec:
status:
- drafted
- validated
- dispatched
- in-progress
- testing
- complete
- superseded
require: [title, status, created, author, trigger]
numbered: true
started: [dispatched, in-progress, testing, complete]
settled: [complete, superseded]
# `superseded` is the one status whose work is over rather than paused:
# it moved to the spec that replaced it, which carries its own edges.
# `complete` is not terminal, because a shipped spec is the live record of
# what the template does and belongs where a reader will find it.
archive:
dir: .archive
statuses: [superseded]
hermetic:
# Two directories, each for one named binary. /usr/bin is git: fmt-check asks
# git for the files this repository tracks, so the suite that exercises it
# needs git. /bin is sh: internal/verifypipeline drives the pipeline's shell
# scripts as real programs, because a gate written in shell is only proved by
# running it with the inputs a real run would produce. Naming the directories
# is what keeps both dependencies visible rather than ambient.
allow: [/usr/bin, /bin]
otel_client:
# This module builds no outbound HTTP client at all: it is a code generator
# run from a workstation or a runner, so there is no inbound trace for an
# outbound call to continue. The gate is kept anyway, because the cheapest
# moment to catch the first client is the one that adds it.
#
# skeleton and example are separate modules with their own otel_client
# configuration, and their tools/ trees are exempt there for reasons this
# file cannot see. Scanning them from here would judge their code by this
# module's rules, so they are skipped and gated where they live.
skip: [skeleton, example]
license:
# The generator's own files. The skeleton and the example are what a new
# service starts from, and the licence a service is released under is that
# service's decision, so they are skipped here.
spdx: MIT
holder: Latere AI
extensions: ['.go']
names: [Makefile]
skip: [skeleton, example]
# Gates this repository does not run yet. Each entry is temporary by
# construction: after the date the gate runs and fails on its own terms.
waive:
cover:
reason: >-
the tree is at 85.8% against a 90% per-package floor; the generator's own skeleton and example trees carry the untested weight
until: 2026-12-01