Complete source 6 engineering workflows and preserve release validation evidence

This commit is contained in:
Codex
2026-09-06 21:49:04 -07:00
parent 2b2d2bc18b
commit 4b6b5fc197
290 changed files with 48271 additions and 1791 deletions
+15 -1
View File
@@ -16,6 +16,7 @@ use serde_json::{Value, json};
use std::collections::{BTreeMap, BTreeSet};
mod data_fields;
mod port_fields;
mod view_fields;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RecordKind {
@@ -37,6 +38,11 @@ pub struct ValueBrowser {
pub scope: Option<crate::data_values::FieldPathKey>,
pub page: usize,
}
#[derive(Clone, Default)]
pub struct ReferenceBrowser {
pub query: String,
pub page: usize,
}
pub struct Draft {
pub kind: RecordKind,
@@ -50,6 +56,7 @@ pub struct Draft {
constructor_drafts: BTreeMap<(String, String), (Value, BTreeMap<String, Input>)>,
port_contract_drafts: BTreeMap<String, Value>,
pub value_browsers: BTreeMap<String, ValueBrowser>,
pub reference_browsers: BTreeMap<String, ReferenceBrowser>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
@@ -171,6 +178,7 @@ impl Draft {
constructor_drafts: BTreeMap::new(),
port_contract_drafts: BTreeMap::new(),
value_browsers: BTreeMap::new(),
reference_browsers: BTreeMap::new(),
};
draft.rebuild();
Some(draft)
@@ -653,7 +661,7 @@ fn friendly(name: &str) -> String {
"incoming_items" => "Incoming exchange items".into(),
"outgoing_items" => "Outgoing exchange items".into(),
"orientation" => "Flow orientation".into(),
"oriented" => "Directed component exchange".into(),
"oriented" => "Directed exchange".into(),
"Unset" => "Not specified".into(),
"minimum" => "Minimum count".into(),
"maximum" => "Maximum count".into(),
@@ -986,6 +994,7 @@ fn reference_ids(draft: &Draft, project: &Project, path: &str) -> Vec<Id> {
_ => matches!(
r.kind(),
RelationKind::Interaction
| RelationKind::CommunicationMean
| RelationKind::FunctionalExchange
| RelationKind::BoundaryExchange
),
@@ -1656,6 +1665,7 @@ pub fn view<'a>(draft: &'a Draft, project: &'a Project) -> View<'a, Message> {
"baseline",
"layer",
"projection",
"view_options",
"element",
"diagram",
"position",
@@ -1701,6 +1711,9 @@ fn property<'a>(
label: &str,
skip_variant: bool,
) -> View<'a, Message> {
if let Some(view) = view_fields::property(draft, project, value, path) {
return view;
}
if let Some(view) = data_fields::property(draft, project, value, path) {
return view;
}
@@ -2563,6 +2576,7 @@ mod tests {
layer: Layer::Oa,
projection: ProjectionKind::Overview,
routes: Vec::new(),
view_options: Default::default(),
nodes: BTreeMap::new(),
},
);