b667fea1cb 
							
						 
					 
					
						
						
							
							internal/store: export new interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m19s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m13s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m16s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m58s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						This exposes store operations safe for direct access, and enables #19  to be implemented in internal/outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-31 03:41:26 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b25ade5f3d 
							
						 
					 
					
						
						
							
							internal/store: rename compat interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m17s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m54s 
				
			 
		
		
	 
 
	 
						
						The new store implementation will be exported as Store.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-30 18:53:59 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ebdcff1049 
							
						 
					 
					
						
						
							
							internal/store: rename from state  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m55s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						This reduces collision with local variable names, and generally makes sense for the new store package, since it no longer specifies the state struct.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-30 18:43:55 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							46c5ce4936 
							
						 
					 
					
						
						
							
							internal/outcome/shim: check full behaviour  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 42s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 38s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 42s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 38s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 39s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						This took significant effort to stub out, and achieves full coverage after c5aefe5e9d.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-30 05:20:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							36f8064905 
							
						 
					 
					
						
						
							
							internal/outcome/process: output via msg  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m54s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This makes it possible to instrument output behaviour through stub.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-30 03:41:38 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							eeb9f98e5b 
							
						 
					 
					
						
						
							
							internal/outcome/shim: move signal constants  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 36s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m17s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m16s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						The magic numbers hurt readability.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-30 01:20:51 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							3f9f331501 
							
						 
					 
					
						
						
							
							internal/outcome/shim: remove noop resume  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m54s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m59s 
				
			 
		
		
	 
 
	 
						
						The shim does not suspend output to begin with. These are leftovers from when container startup code suspends output.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 23:31:39 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							2563391086 
							
						 
					 
					
						
						
							
							internal/outcome/shim: params check early  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 35s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m16s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m0s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This is unreachable, but keeping it here as a failsafe until more test cases are added.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 23:10:12 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							a0b4e47acc 
							
						 
					 
					
						
						
							
							internal/outcome: rename from app  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m55s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m11s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m1s 
				
			 
		
		
	 
 
	 
						
						This is less ambiguous, and more accurately describes the purpose of the package.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 04:33:13 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							a52f7038e5 
							
						 
					 
					
						
						
							
							internal/env: relocate from app  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m53s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This package is much cleaner to stub independently, and makes no sense to lump into app.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 04:11:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							274686d10d 
							
						 
					 
					
						
						
							
							internal/validate: relocate from app  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 37s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m23s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m11s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						These are free of the dispatcher from internal/app. This change relocates them into their own package.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 03:40:09 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							65342d588f 
							
						 
					 
					
						
						
							
							internal/app/state: improve store internals  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m15s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m6s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m50s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This fully exposes the store internals for #19  and are final preparations for removing the legacy store interface.
This change also fixes a potential deadlock in the handle initialisation mkdir failure path. This however is never reachable in hakurei as the store is never accessed concurrently.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-29 03:21:00 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5e5826459e 
							
						 
					 
					
						
						
							
							internal/app/state: improve handles internals  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m53s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m31s 
				
			 
		
		
	 
 
	 
						
						This replaces the Store interface with something better reflecting the underlying data format for #19 . An implementation of Store is provided on top of the new code to ease transition.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-28 22:00:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4a463b7f03 
							
						 
					 
					
						
						
							
							internal/app/state: use absolute pathnames  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m6s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m48s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This is less error-prone and fits better into internal/app which already uses check.Absolute for all pathnames.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-26 03:41:19 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							dacd9550e0 
							
						 
					 
					
						
						
							
							internal/app/state: acquire big lock for toplevel operations  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m20s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m50s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						This avoids getting into an inconsistent state for simultaneous calls to List and Do on a previously unknown identity.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-26 03:27:56 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							546b00429f 
							
						 
					 
					
						
						
							
							treewide: update doc comments  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m7s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m22s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m57s 
				
			 
		
		
	 
 
	 
						
						Some internal/app/state types were relocated to hst as part of the API. This change updates doc comments referring to them.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-26 03:00:04 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							86f4219062 
							
						 
					 
					
						
						
							
							internal/app/state/data: check full entry behaviour  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 35s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m19s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m13s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m55s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This eventually gets relocated to internal/app.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-26 01:49:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							fe2929d5f7 
							
						 
					 
					
						
						
							
							internal/app/state: include et header  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 35s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m17s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m55s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m49s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m22s 
				
			 
		
		
	 
 
	 
						
						This is the initial step of implementing #19 .
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-25 22:01:26 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							470e545d27 
							
						 
					 
					
						
						
							
							internal/app/state: use internal/lockedfile  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m15s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m0s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m52s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						This is a pretty solid implementation backed by robust tests, with a much cleaner interface.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-25 21:29:24 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8d3381821f 
							
						 
					 
					
						
						
							
							internal/app/state: export correct backend value  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m17s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m7s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m52s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						This references the underlying multiBackend due to a typo, making the whole dance with c a noop.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-25 21:11:05 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e9d00b9071 
							
						 
					 
					
						
						
							
							container/executable: handle nil msg  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m4s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m45s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m37s 
				
			 
		
		
	 
 
	 
						
						This is useful in some tests.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-25 21:08:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4f41afee0f 
							
						 
					 
					
						
						
							
							internal/app/state: fixed size et-only header  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 46s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m29s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m26s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m15s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m14s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 5m3s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						This header improves the robustness of the format and significantly reduces cleanup overhead.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-25 19:15:06 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							7de593e816 
							
						 
					 
					
						
						
							
							cmd/hakurei: short identifier from lower half  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 40s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m14s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 2m57s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m12s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m25s 
				
			 
		
		
	 
 
	 
						
						The upper half is now a nanosecond timestamp. Lower half is still random bytes, so use lower half for short identifier.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-24 00:47:39 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							2442eda8d9 
							
						 
					 
					
						
						
							
							hst/instance: embed config struct  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 41s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 40s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m20s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 2m59s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m20s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This makes the resulting json easier to parse since it can now be deserialised into the config struct.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-24 00:42:16 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							05488bfb8f 
							
						 
					 
					
						
						
							
							hst/instance: store priv side pid  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m14s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m29s 
				
			 
		
		
	 
 
	 
						
						This can receive signals, so is more useful to the caller.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 23:19:55 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							dd94818f20 
							
						 
					 
					
						
						
							
							hst/instance: define instance state  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m6s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m51s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						This is now part of the hst API. This change also improves identifier generation and serialisation.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 22:59:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0fd357e7f6 
							
						 
					 
					
						
						
							
							container/init: do not suspend output  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 42s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 43s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 41s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m20s 
				
			 
		
		
	 
 
	 
						
						Init is not very talkative after process start even when verbose. Suspending output here is pointless and does more harm than good.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 08:11:00 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							57231d4acf 
							
						 
					 
					
						
						
							
							container/init: improve signal handling  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						The SIGTERM signal is delivered in many other cases and can lead to strange behaviour. The unconditional resume of the logger also causes strange behaviour in the cancellation forwarding path. This change also passes through additional signals.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 08:02:03 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c5aefe5e9d 
							
						 
					 
					
						
						
							
							internal/app/shim: check behaviour  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 43s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 44s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 41s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m20s 
				
			 
		
		
	 
 
	 
						
						This does not yet have full coverage. Test cases covering failsafe paths and error injection will be added eventually.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 06:07:41 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0f8ffee44d 
							
						 
					 
					
						
						
							
							internal/app: test case for hst template  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m8s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m42s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m21s 
				
			 
		
		
	 
 
	 
						
						This helps with other areas of the test suite as they're all based on hst.Template. This also helps contributors understand the behaviour of internal/app as hst.Template covers almost every aspect of it.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 04:46:58 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1685a4d000 
							
						 
					 
					
						
						
							
							cmd/hsu: reduce excessive test range  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m25s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m36s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m13s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m33s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						This is quite a simple piece of code, this many test cases is excessive and wastes time in the integration vm.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-23 04:32:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							6c338b433a 
							
						 
					 
					
						
						
							
							internal/app: reduce test case indentation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This improves readability on narrower displays.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-22 07:40:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8accd3b219 
							
						 
					 
					
						
						
							
							internal/app/shim: use syscall dispatcher  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m14s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This enables instrumented testing of the shim.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-22 06:58:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c5f59c5488 
							
						 
					 
					
						
						
							
							container/syscall: export prctl wrapper  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m13s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m3s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This is useful as package "syscall" does not provide such a wrapper. This change also improves error handling to fully conform to the manpage.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-22 05:26:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							fcd9becf9a 
							
						 
					 
					
						
						
							
							cmd/hsu: run in locked thread  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m41s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m23s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m35s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m14s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m39s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						Goroutine scheduling is not helpful in the setuid wrapper, it is not particularly harmful but lock here anyway.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-22 05:09:08 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							622f945c22 
							
						 
					 
					
						
						
							
							container/init: check msg in entrypoint  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m14s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m59s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m27s 
				
			 
		
		
	 
 
	 
						
						This covers invalid call to Init.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-22 04:20:08 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e94acc424c 
							
						 
					 
					
						
						
							
							container/comp: rename from bits  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m19s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m9s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m53s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m23s 
				
			 
		
		
	 
 
	 
						
						This package will also hold syscall lookup tables for seccomp.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 20:54:03 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b1a4d801be 
							
						 
					 
					
						
						
							
							hst/container: flags string representation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m56s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m42s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						This is useful for a user-facing representation other than JSON. This also gets rid of the ugly, outdated flags string builder in cmd/hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 20:29:52 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							56beae17fe 
							
						 
					 
					
						
						
							
							test: assert hst CGO_ENABLED=0  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 41s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m29s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 3m7s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						The hst package only deals with data serialisation, however since many parts of hakurei make use of C libraries in some way it can be easy to inadvertently depend on cgo.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 19:49:04 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ea978101b1 
							
						 
					 
					
						
						
							
							cmd/hakurei/parse: close config fd  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m20s 
				
			 
		
		
	 
 
	 
						
						This is cleaner than relying on the finalizer.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 06:05:36 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							fbd1638e7f 
							
						 
					 
					
						
						
							
							test/interactive/trace: update nix attribute  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 40s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 40s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 44s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 42s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						Updated according to evaluation warning.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 06:03:09 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d42067df7c 
							
						 
					 
					
						
						
							
							cmd/hakurei/json: friendly error messages  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 44s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 43s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 41s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m23s 
				
			 
		
		
	 
 
	 
						
						This change handles errors returned by encoding/json and prints significantly cleaner messages.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 05:17:25 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b9459a80c7 
							
						 
					 
					
						
						
							
							container/init: check use constants for open flags  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m11s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m6s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m45s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m28s 
				
			 
		
		
	 
 
	 
						
						These bits are arch-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 03:13:58 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f8189d1488 
							
						 
					 
					
						
						
							
							container/syscall: dot-import syscall  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m12s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m7s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m57s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m2s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m38s 
				
			 
		
		
	 
 
	 
						
						This avoids having arch-specific constants for arm64.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 03:09:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5063b774c1 
							
						 
					 
					
						
						
							
							hst: expose version string  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 36s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m0s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 3m56s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m0s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m20s 
				
			 
		
		
	 
 
	 
						
						The hst API is tied to this version string.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 01:56:44 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							766dd89ffa 
							
						 
					 
					
						
						
							
							internal: clean up build strings  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m9s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m4s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m30s 
				
			 
		
		
	 
 
	 
						
						These names are less ambiguous and should be understandable without reading the source code.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-21 01:49:36 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							699c19e972 
							
						 
					 
					
						
						
							
							hst/container: optional runtime and tmpdir sharing  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 42s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 40s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m23s 
				
			 
		
		
	 
 
	 
						
						Sharing and persisting these directories do not always make sense. Make it optional here.
Closes  #16 .
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-19 04:11:38 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b5b30aea2e 
							
						 
					 
					
						
						
							
							test: place marker in common path  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 39s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 41s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 45s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 42s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 46s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m33s 
				
			 
		
		
	 
 
	 
						
						This discontinues the dependency on shared tmpdir and xdg_runtime_dir implementation detail, for #16 .
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-19 03:50:48 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c0e860000a 
							
						 
					 
					
						
						
							
							internal/app: remove spfinal  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m12s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m36s 
				
			 
		
		
	 
 
	 
						
						This no longer needs to be an independent outcomeOp since spFilesystemOp is moved late.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-19 02:58:46 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d87020f0ca 
							
						 
					 
					
						
						
							
							hst/config: validate env early  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m10s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m58s 
				
			 
		
			
				
	Test / Hpkg (push) Successful in 4m3s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m26s 
				
			 
		
		
	 
 
	 
						
						This should happen in hst since it requires no system state.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-10-19 02:39:49 +09:00