{{define "content"}} {{$p := .Data.Proposal}}

{{$p.Space}}

Proposal #{{$p.ID}} {{$p.State}}

{{$p.Title}}

{{if $p.Rationale}}

{{$p.Rationale}}

{{end}}

proposed by {{$p.Agent}} (session {{$p.AgentSession}}) against {{shortsha $p.BaseRev}} {{if .Data.Merged}} — merged as {{$p.Approval}} at {{shortsha $p.MergedRev}} {{end}}

{{if .Data.Unresolved}}

{{.Data.Unresolved}} unresolved Policy auto-merge is suppressed while a review thread is open; approving by hand still works.

{{end}} {{if .Data.CanApprove}}
{{else if .Data.Merged}}

This proposal has been merged.

{{else if .Data.Rejected}}

This proposal was rejected.

{{end}}
{{if .Data.Docs}} {{range .Data.Docs}}

{{.Path}} {{if .New}}new{{end}}

{{if .Diff.Unchanged}}

No textual change.

{{else}} {{.Diff.HTML}} {{end}}
{{end}} {{else}}

This proposal changes no documents.

{{end}} {{/* Comments whose block is gone. They are shown here, whole, rather than moved onto whatever block now sits nearest: a critique read against the wrong paragraph is worse than one that admits it lost its place, because the reader cannot tell it is wrong. */}} {{if .Data.Lost}}

Comments that lost their anchor {{len .Data.Lost}}

The blocks these were written about are no longer in the proposed revision. They are kept as written and attached to nothing.

{{range .Data.Lost}}{{template "thread" .}}{{end}}
{{end}}
{{end}}