CultNet: witness element types carry ids; peers and fixtures follow
CultWitnessContractPin, CultWitnessArtifactEntry and CultWitnessTimingEntry get an id slot. The JSON schema contract and the Python schema copy gain an optional id per element, and the Python and TypeScript fixtures carry and assert ids. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
ded5436569
commit
09dabd38c5
5 changed files with 27 additions and 6 deletions
|
|
@ -104,6 +104,10 @@ namespace GameCult.Networking
|
|||
[MessagePackObject]
|
||||
public sealed class CultWitnessContractPin
|
||||
{
|
||||
[Key(4)]
|
||||
[CultElementId]
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the contract role inside the bundle.
|
||||
/// </summary>
|
||||
|
|
@ -135,6 +139,10 @@ namespace GameCult.Networking
|
|||
[MessagePackObject]
|
||||
public sealed class CultWitnessArtifactEntry
|
||||
{
|
||||
[Key(6)]
|
||||
[CultElementId]
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the artifact role inside the witness bundle.
|
||||
/// </summary>
|
||||
|
|
@ -178,6 +186,10 @@ namespace GameCult.Networking
|
|||
[MessagePackObject]
|
||||
public sealed class CultWitnessTimingEntry
|
||||
{
|
||||
[Key(5)]
|
||||
[CultElementId]
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the pipeline stage name.
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in a new issue