diff --git a/cmd/gclogs/.api b/cmd/gclogs/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/gclogs/.api
diff --git a/cmd/mounttable/.api b/cmd/mounttable/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/mounttable/.api
diff --git a/cmd/namespace/.api b/cmd/namespace/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/namespace/.api
diff --git a/cmd/principal/.api b/cmd/principal/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/principal/.api
diff --git a/cmd/servicerunner/.api b/cmd/servicerunner/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/servicerunner/.api
diff --git a/cmd/uniqueid/.api b/cmd/uniqueid/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/uniqueid/.api
diff --git a/cmd/vdl/.api b/cmd/vdl/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/vdl/.api
diff --git a/cmd/vom/.api b/cmd/vom/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/vom/.api
diff --git a/cmd/vomtestgen/.api b/cmd/vomtestgen/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/vomtestgen/.api
diff --git a/cmd/vrpc/.api b/cmd/vrpc/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/vrpc/.api
diff --git a/cmd/vrpc/internal/.api b/cmd/vrpc/internal/.api
new file mode 100644
index 0000000..6801a23
--- /dev/null
+++ b/cmd/vrpc/internal/.api
@@ -0,0 +1,111 @@
+pkg internal, func TypeTesterClient(string) TypeTesterClientStub
+pkg internal, func TypeTesterServer(TypeTesterServerMethods) TypeTesterServerStub
+pkg internal, method (*TypeTesterZStreamServerCallStub) Init(rpc.StreamServerCall)
+pkg internal, method (*TypeTesterZStreamServerCallStub) SendStream() interface {  Send(item bool) error;}
+pkg internal, type Array2Int [2]int32
+pkg internal, type Struct struct
+pkg internal, type Struct struct, X int32
+pkg internal, type Struct struct, Y int32
+pkg internal, type TypeTesterClientMethods interface { EchoBool, EchoByte, EchoFloat32, EchoFloat64, EchoInt32, EchoInt64, EchoString, EchoUint32, EchoUint64, XEchoArray, XEchoMap, XEchoSet, XEchoSlice, XEchoStruct, YMultiArg, YNoArgs, ZStream }
+pkg internal, type TypeTesterClientMethods interface, EchoBool(*context.T, bool, ...rpc.CallOpt) (bool, error)
+pkg internal, type TypeTesterClientMethods interface, EchoByte(*context.T, byte, ...rpc.CallOpt) (byte, error)
+pkg internal, type TypeTesterClientMethods interface, EchoFloat32(*context.T, float32, ...rpc.CallOpt) (float32, error)
+pkg internal, type TypeTesterClientMethods interface, EchoFloat64(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg internal, type TypeTesterClientMethods interface, EchoInt32(*context.T, int32, ...rpc.CallOpt) (int32, error)
+pkg internal, type TypeTesterClientMethods interface, EchoInt64(*context.T, int64, ...rpc.CallOpt) (int64, error)
+pkg internal, type TypeTesterClientMethods interface, EchoString(*context.T, string, ...rpc.CallOpt) (string, error)
+pkg internal, type TypeTesterClientMethods interface, EchoUint32(*context.T, uint32, ...rpc.CallOpt) (uint32, error)
+pkg internal, type TypeTesterClientMethods interface, EchoUint64(*context.T, uint64, ...rpc.CallOpt) (uint64, error)
+pkg internal, type TypeTesterClientMethods interface, XEchoArray(*context.T, Array2Int, ...rpc.CallOpt) (Array2Int, error)
+pkg internal, type TypeTesterClientMethods interface, XEchoMap(*context.T, map[int32]string, ...rpc.CallOpt) (map[int32]string, error)
+pkg internal, type TypeTesterClientMethods interface, XEchoSet(*context.T, map[int32]struct{}, ...rpc.CallOpt) (map[int32]struct{}, error)
+pkg internal, type TypeTesterClientMethods interface, XEchoSlice(*context.T, []int32, ...rpc.CallOpt) ([]int32, error)
+pkg internal, type TypeTesterClientMethods interface, XEchoStruct(*context.T, Struct, ...rpc.CallOpt) (Struct, error)
+pkg internal, type TypeTesterClientMethods interface, YMultiArg(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg internal, type TypeTesterClientMethods interface, YNoArgs(*context.T, ...rpc.CallOpt) error
+pkg internal, type TypeTesterClientMethods interface, ZStream(*context.T, int32, bool, ...rpc.CallOpt) (TypeTesterZStreamClientCall, error)
+pkg internal, type TypeTesterClientStub interface, EchoBool(*context.T, bool, ...rpc.CallOpt) (bool, error)
+pkg internal, type TypeTesterClientStub interface, EchoByte(*context.T, byte, ...rpc.CallOpt) (byte, error)
+pkg internal, type TypeTesterClientStub interface, EchoFloat32(*context.T, float32, ...rpc.CallOpt) (float32, error)
+pkg internal, type TypeTesterClientStub interface, EchoFloat64(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg internal, type TypeTesterClientStub interface, EchoInt32(*context.T, int32, ...rpc.CallOpt) (int32, error)
+pkg internal, type TypeTesterClientStub interface, EchoInt64(*context.T, int64, ...rpc.CallOpt) (int64, error)
+pkg internal, type TypeTesterClientStub interface, EchoString(*context.T, string, ...rpc.CallOpt) (string, error)
+pkg internal, type TypeTesterClientStub interface, EchoUint32(*context.T, uint32, ...rpc.CallOpt) (uint32, error)
+pkg internal, type TypeTesterClientStub interface, EchoUint64(*context.T, uint64, ...rpc.CallOpt) (uint64, error)
+pkg internal, type TypeTesterClientStub interface, XEchoArray(*context.T, Array2Int, ...rpc.CallOpt) (Array2Int, error)
+pkg internal, type TypeTesterClientStub interface, XEchoMap(*context.T, map[int32]string, ...rpc.CallOpt) (map[int32]string, error)
+pkg internal, type TypeTesterClientStub interface, XEchoSet(*context.T, map[int32]struct{}, ...rpc.CallOpt) (map[int32]struct{}, error)
+pkg internal, type TypeTesterClientStub interface, XEchoSlice(*context.T, []int32, ...rpc.CallOpt) ([]int32, error)
+pkg internal, type TypeTesterClientStub interface, XEchoStruct(*context.T, Struct, ...rpc.CallOpt) (Struct, error)
+pkg internal, type TypeTesterClientStub interface, YMultiArg(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg internal, type TypeTesterClientStub interface, YNoArgs(*context.T, ...rpc.CallOpt) error
+pkg internal, type TypeTesterClientStub interface, ZStream(*context.T, int32, bool, ...rpc.CallOpt) (TypeTesterZStreamClientCall, error)
+pkg internal, type TypeTesterClientStub interface, unexported methods
+pkg internal, type TypeTesterServerMethods interface { EchoBool, EchoByte, EchoFloat32, EchoFloat64, EchoInt32, EchoInt64, EchoString, EchoUint32, EchoUint64, XEchoArray, XEchoMap, XEchoSet, XEchoSlice, XEchoStruct, YMultiArg, YNoArgs, ZStream }
+pkg internal, type TypeTesterServerMethods interface, EchoBool(*context.T, rpc.ServerCall, bool) (bool, error)
+pkg internal, type TypeTesterServerMethods interface, EchoByte(*context.T, rpc.ServerCall, byte) (byte, error)
+pkg internal, type TypeTesterServerMethods interface, EchoFloat32(*context.T, rpc.ServerCall, float32) (float32, error)
+pkg internal, type TypeTesterServerMethods interface, EchoFloat64(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg internal, type TypeTesterServerMethods interface, EchoInt32(*context.T, rpc.ServerCall, int32) (int32, error)
+pkg internal, type TypeTesterServerMethods interface, EchoInt64(*context.T, rpc.ServerCall, int64) (int64, error)
+pkg internal, type TypeTesterServerMethods interface, EchoString(*context.T, rpc.ServerCall, string) (string, error)
+pkg internal, type TypeTesterServerMethods interface, EchoUint32(*context.T, rpc.ServerCall, uint32) (uint32, error)
+pkg internal, type TypeTesterServerMethods interface, EchoUint64(*context.T, rpc.ServerCall, uint64) (uint64, error)
+pkg internal, type TypeTesterServerMethods interface, XEchoArray(*context.T, rpc.ServerCall, Array2Int) (Array2Int, error)
+pkg internal, type TypeTesterServerMethods interface, XEchoMap(*context.T, rpc.ServerCall, map[int32]string) (map[int32]string, error)
+pkg internal, type TypeTesterServerMethods interface, XEchoSet(*context.T, rpc.ServerCall, map[int32]struct{}) (map[int32]struct{}, error)
+pkg internal, type TypeTesterServerMethods interface, XEchoSlice(*context.T, rpc.ServerCall, []int32) ([]int32, error)
+pkg internal, type TypeTesterServerMethods interface, XEchoStruct(*context.T, rpc.ServerCall, Struct) (Struct, error)
+pkg internal, type TypeTesterServerMethods interface, YMultiArg(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg internal, type TypeTesterServerMethods interface, YNoArgs(*context.T, rpc.ServerCall) error
+pkg internal, type TypeTesterServerMethods interface, ZStream(*context.T, TypeTesterZStreamServerCall, int32, bool) error
+pkg internal, type TypeTesterServerStub interface { Describe__, EchoBool, EchoByte, EchoFloat32, EchoFloat64, EchoInt32, EchoInt64, EchoString, EchoUint32, EchoUint64, XEchoArray, XEchoMap, XEchoSet, XEchoSlice, XEchoStruct, YMultiArg, YNoArgs, ZStream }
+pkg internal, type TypeTesterServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg internal, type TypeTesterServerStub interface, EchoBool(*context.T, rpc.ServerCall, bool) (bool, error)
+pkg internal, type TypeTesterServerStub interface, EchoByte(*context.T, rpc.ServerCall, byte) (byte, error)
+pkg internal, type TypeTesterServerStub interface, EchoFloat32(*context.T, rpc.ServerCall, float32) (float32, error)
+pkg internal, type TypeTesterServerStub interface, EchoFloat64(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg internal, type TypeTesterServerStub interface, EchoInt32(*context.T, rpc.ServerCall, int32) (int32, error)
+pkg internal, type TypeTesterServerStub interface, EchoInt64(*context.T, rpc.ServerCall, int64) (int64, error)
+pkg internal, type TypeTesterServerStub interface, EchoString(*context.T, rpc.ServerCall, string) (string, error)
+pkg internal, type TypeTesterServerStub interface, EchoUint32(*context.T, rpc.ServerCall, uint32) (uint32, error)
+pkg internal, type TypeTesterServerStub interface, EchoUint64(*context.T, rpc.ServerCall, uint64) (uint64, error)
+pkg internal, type TypeTesterServerStub interface, XEchoArray(*context.T, rpc.ServerCall, Array2Int) (Array2Int, error)
+pkg internal, type TypeTesterServerStub interface, XEchoMap(*context.T, rpc.ServerCall, map[int32]string) (map[int32]string, error)
+pkg internal, type TypeTesterServerStub interface, XEchoSet(*context.T, rpc.ServerCall, map[int32]struct{}) (map[int32]struct{}, error)
+pkg internal, type TypeTesterServerStub interface, XEchoSlice(*context.T, rpc.ServerCall, []int32) ([]int32, error)
+pkg internal, type TypeTesterServerStub interface, XEchoStruct(*context.T, rpc.ServerCall, Struct) (Struct, error)
+pkg internal, type TypeTesterServerStub interface, YMultiArg(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg internal, type TypeTesterServerStub interface, YNoArgs(*context.T, rpc.ServerCall) error
+pkg internal, type TypeTesterServerStub interface, ZStream(*context.T, *TypeTesterZStreamServerCallStub, int32, bool) error
+pkg internal, type TypeTesterServerStubMethods interface { EchoBool, EchoByte, EchoFloat32, EchoFloat64, EchoInt32, EchoInt64, EchoString, EchoUint32, EchoUint64, XEchoArray, XEchoMap, XEchoSet, XEchoSlice, XEchoStruct, YMultiArg, YNoArgs, ZStream }
+pkg internal, type TypeTesterServerStubMethods interface, EchoBool(*context.T, rpc.ServerCall, bool) (bool, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoByte(*context.T, rpc.ServerCall, byte) (byte, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoFloat32(*context.T, rpc.ServerCall, float32) (float32, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoFloat64(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoInt32(*context.T, rpc.ServerCall, int32) (int32, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoInt64(*context.T, rpc.ServerCall, int64) (int64, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoString(*context.T, rpc.ServerCall, string) (string, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoUint32(*context.T, rpc.ServerCall, uint32) (uint32, error)
+pkg internal, type TypeTesterServerStubMethods interface, EchoUint64(*context.T, rpc.ServerCall, uint64) (uint64, error)
+pkg internal, type TypeTesterServerStubMethods interface, XEchoArray(*context.T, rpc.ServerCall, Array2Int) (Array2Int, error)
+pkg internal, type TypeTesterServerStubMethods interface, XEchoMap(*context.T, rpc.ServerCall, map[int32]string) (map[int32]string, error)
+pkg internal, type TypeTesterServerStubMethods interface, XEchoSet(*context.T, rpc.ServerCall, map[int32]struct{}) (map[int32]struct{}, error)
+pkg internal, type TypeTesterServerStubMethods interface, XEchoSlice(*context.T, rpc.ServerCall, []int32) ([]int32, error)
+pkg internal, type TypeTesterServerStubMethods interface, XEchoStruct(*context.T, rpc.ServerCall, Struct) (Struct, error)
+pkg internal, type TypeTesterServerStubMethods interface, YMultiArg(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg internal, type TypeTesterServerStubMethods interface, YNoArgs(*context.T, rpc.ServerCall) error
+pkg internal, type TypeTesterServerStubMethods interface, ZStream(*context.T, *TypeTesterZStreamServerCallStub, int32, bool) error
+pkg internal, type TypeTesterZStreamClientCall interface { Finish, RecvStream }
+pkg internal, type TypeTesterZStreamClientCall interface, Finish() error
+pkg internal, type TypeTesterZStreamClientCall interface, RecvStream() interface {  Advance() bool;; Value() bool;; Err() error;}
+pkg internal, type TypeTesterZStreamClientStream interface { RecvStream }
+pkg internal, type TypeTesterZStreamClientStream interface, RecvStream() interface {  Advance() bool;; Value() bool;; Err() error;}
+pkg internal, type TypeTesterZStreamServerCall interface, SendStream() interface {  Send(item bool) error;}
+pkg internal, type TypeTesterZStreamServerCall interface, unexported methods
+pkg internal, type TypeTesterZStreamServerCallStub struct
+pkg internal, type TypeTesterZStreamServerCallStub struct, embedded rpc.StreamServerCall
+pkg internal, type TypeTesterZStreamServerStream interface { SendStream }
+pkg internal, type TypeTesterZStreamServerStream interface, SendStream() interface {  Send(item bool) error;}
+pkg internal, var TypeTesterDesc rpc.InterfaceDesc
diff --git a/cmd/vrun/.api b/cmd/vrun/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cmd/vrun/.api
diff --git a/envvar/.api b/envvar/.api
new file mode 100644
index 0000000..3c58b7e
--- /dev/null
+++ b/envvar/.api
@@ -0,0 +1,7 @@
+pkg envvar, const AgentEndpoint ideal-string
+pkg envvar, const Credentials ideal-string
+pkg envvar, const I18nCatalogueFiles ideal-string
+pkg envvar, const NamespacePrefix ideal-string
+pkg envvar, const OAuthIdentityProvider ideal-string
+pkg envvar, func ClearCredentials() error
+pkg envvar, func NamespaceRoots() (map[string]string, []string)
diff --git a/examples/rps/.api b/examples/rps/.api
new file mode 100644
index 0000000..d857e0a
--- /dev/null
+++ b/examples/rps/.api
@@ -0,0 +1,158 @@
+pkg rps, const Classic GameTypeTag
+pkg rps, const Draw WinnerTag
+pkg rps, const LizardSpock GameTypeTag
+pkg rps, const Player1 WinnerTag
+pkg rps, const Player2 WinnerTag
+pkg rps, func JudgeClient(string) JudgeClientStub
+pkg rps, func JudgeServer(JudgeServerMethods) JudgeServerStub
+pkg rps, func PlayerClient(string) PlayerClientStub
+pkg rps, func PlayerServer(PlayerServerMethods) PlayerServerStub
+pkg rps, func RockPaperScissorsClient(string) RockPaperScissorsClientStub
+pkg rps, func RockPaperScissorsServer(RockPaperScissorsServerMethods) RockPaperScissorsServerStub
+pkg rps, func ScoreKeeperClient(string) ScoreKeeperClientStub
+pkg rps, func ScoreKeeperServer(ScoreKeeperServerMethods) ScoreKeeperServerStub
+pkg rps, method (*JudgePlayServerCallStub) Init(rpc.StreamServerCall)
+pkg rps, method (*JudgePlayServerCallStub) RecvStream() interface {  Advance() bool; Value() PlayerAction; Err() error;}
+pkg rps, method (*JudgePlayServerCallStub) SendStream() interface {  Send(item JudgeAction) error;}
+pkg rps, method (JudgeActionMoveOptions) Index() int
+pkg rps, method (JudgeActionMoveOptions) Interface() interface{}
+pkg rps, method (JudgeActionMoveOptions) Name() string
+pkg rps, method (JudgeActionOpponentName) Index() int
+pkg rps, method (JudgeActionOpponentName) Interface() interface{}
+pkg rps, method (JudgeActionOpponentName) Name() string
+pkg rps, method (JudgeActionPlayerNum) Index() int
+pkg rps, method (JudgeActionPlayerNum) Interface() interface{}
+pkg rps, method (JudgeActionPlayerNum) Name() string
+pkg rps, method (JudgeActionRoundResult) Index() int
+pkg rps, method (JudgeActionRoundResult) Interface() interface{}
+pkg rps, method (JudgeActionRoundResult) Name() string
+pkg rps, method (JudgeActionScore) Index() int
+pkg rps, method (JudgeActionScore) Interface() interface{}
+pkg rps, method (JudgeActionScore) Name() string
+pkg rps, method (PlayerActionMove) Index() int
+pkg rps, method (PlayerActionMove) Interface() interface{}
+pkg rps, method (PlayerActionMove) Name() string
+pkg rps, method (PlayerActionQuit) Index() int
+pkg rps, method (PlayerActionQuit) Interface() interface{}
+pkg rps, method (PlayerActionQuit) Name() string
+pkg rps, type GameId struct
+pkg rps, type GameId struct, Id string
+pkg rps, type GameOptions struct
+pkg rps, type GameOptions struct, GameType GameTypeTag
+pkg rps, type GameOptions struct, NumRounds int32
+pkg rps, type GameTypeTag byte
+pkg rps, type JudgeAction interface, Index() int
+pkg rps, type JudgeAction interface, Interface() interface{}
+pkg rps, type JudgeAction interface, Name() string
+pkg rps, type JudgeAction interface, unexported methods
+pkg rps, type JudgeActionMoveOptions struct
+pkg rps, type JudgeActionMoveOptions struct, Value []string
+pkg rps, type JudgeActionOpponentName struct
+pkg rps, type JudgeActionOpponentName struct, Value string
+pkg rps, type JudgeActionPlayerNum struct
+pkg rps, type JudgeActionPlayerNum struct, Value int32
+pkg rps, type JudgeActionRoundResult struct
+pkg rps, type JudgeActionRoundResult struct, Value Round
+pkg rps, type JudgeActionScore struct
+pkg rps, type JudgeActionScore struct, Value ScoreCard
+pkg rps, type JudgeClientMethods interface { CreateGame, Play }
+pkg rps, type JudgeClientMethods interface, CreateGame(*context.T, GameOptions, ...rpc.CallOpt) (GameId, error)
+pkg rps, type JudgeClientMethods interface, Play(*context.T, GameId, ...rpc.CallOpt) (JudgePlayClientCall, error)
+pkg rps, type JudgeClientStub interface, CreateGame(*context.T, GameOptions, ...rpc.CallOpt) (GameId, error)
+pkg rps, type JudgeClientStub interface, Play(*context.T, GameId, ...rpc.CallOpt) (JudgePlayClientCall, error)
+pkg rps, type JudgeClientStub interface, unexported methods
+pkg rps, type JudgePlayClientCall interface { Finish, RecvStream, SendStream }
+pkg rps, type JudgePlayClientCall interface, Finish() (PlayResult, error)
+pkg rps, type JudgePlayClientCall interface, RecvStream() interface {  Advance() bool;; Value() JudgeAction;; Err() error;}
+pkg rps, type JudgePlayClientCall interface, SendStream() interface {  Send(item PlayerAction) error;; Close() error;}
+pkg rps, type JudgePlayClientStream interface { RecvStream, SendStream }
+pkg rps, type JudgePlayClientStream interface, RecvStream() interface {  Advance() bool;; Value() JudgeAction;; Err() error;}
+pkg rps, type JudgePlayClientStream interface, SendStream() interface {  Send(item PlayerAction) error;; Close() error;}
+pkg rps, type JudgePlayServerCall interface, RecvStream() interface {  Advance() bool;; Value() PlayerAction;; Err() error;}
+pkg rps, type JudgePlayServerCall interface, SendStream() interface {  Send(item JudgeAction) error;}
+pkg rps, type JudgePlayServerCall interface, unexported methods
+pkg rps, type JudgePlayServerCallStub struct
+pkg rps, type JudgePlayServerCallStub struct, embedded rpc.StreamServerCall
+pkg rps, type JudgePlayServerStream interface { RecvStream, SendStream }
+pkg rps, type JudgePlayServerStream interface, RecvStream() interface {  Advance() bool;; Value() PlayerAction;; Err() error;}
+pkg rps, type JudgePlayServerStream interface, SendStream() interface {  Send(item JudgeAction) error;}
+pkg rps, type JudgeServerMethods interface { CreateGame, Play }
+pkg rps, type JudgeServerMethods interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type JudgeServerMethods interface, Play(*context.T, JudgePlayServerCall, GameId) (PlayResult, error)
+pkg rps, type JudgeServerStub interface { CreateGame, Describe__, Play }
+pkg rps, type JudgeServerStub interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type JudgeServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg rps, type JudgeServerStub interface, Play(*context.T, *JudgePlayServerCallStub, GameId) (PlayResult, error)
+pkg rps, type JudgeServerStubMethods interface { CreateGame, Play }
+pkg rps, type JudgeServerStubMethods interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type JudgeServerStubMethods interface, Play(*context.T, *JudgePlayServerCallStub, GameId) (PlayResult, error)
+pkg rps, type PlayResult struct
+pkg rps, type PlayResult struct, YouWon bool
+pkg rps, type PlayerAction interface, Index() int
+pkg rps, type PlayerAction interface, Interface() interface{}
+pkg rps, type PlayerAction interface, Name() string
+pkg rps, type PlayerAction interface, unexported methods
+pkg rps, type PlayerActionMove struct
+pkg rps, type PlayerActionMove struct, Value string
+pkg rps, type PlayerActionQuit struct
+pkg rps, type PlayerActionQuit struct, Value unused
+pkg rps, type PlayerClientMethods interface { Challenge }
+pkg rps, type PlayerClientMethods interface, Challenge(*context.T, string, GameId, GameOptions, ...rpc.CallOpt) error
+pkg rps, type PlayerClientStub interface, Challenge(*context.T, string, GameId, GameOptions, ...rpc.CallOpt) error
+pkg rps, type PlayerClientStub interface, unexported methods
+pkg rps, type PlayerServerMethods interface { Challenge }
+pkg rps, type PlayerServerMethods interface, Challenge(*context.T, rpc.ServerCall, string, GameId, GameOptions) error
+pkg rps, type PlayerServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg rps, type PlayerServerStub interface, unexported methods
+pkg rps, type PlayerServerStubMethods PlayerServerMethods
+pkg rps, type PlayersMoves [2]string
+pkg rps, type RockPaperScissorsClientMethods interface { Challenge, CreateGame, Play, Record }
+pkg rps, type RockPaperScissorsClientMethods interface, Challenge(*context.T, string, GameId, GameOptions, ...rpc.CallOpt) error
+pkg rps, type RockPaperScissorsClientMethods interface, CreateGame(*context.T, GameOptions, ...rpc.CallOpt) (GameId, error)
+pkg rps, type RockPaperScissorsClientMethods interface, Play(*context.T, GameId, ...rpc.CallOpt) (JudgePlayClientCall, error)
+pkg rps, type RockPaperScissorsClientMethods interface, Record(*context.T, ScoreCard, ...rpc.CallOpt) error
+pkg rps, type RockPaperScissorsClientStub interface, Challenge(*context.T, string, GameId, GameOptions, ...rpc.CallOpt) error
+pkg rps, type RockPaperScissorsClientStub interface, CreateGame(*context.T, GameOptions, ...rpc.CallOpt) (GameId, error)
+pkg rps, type RockPaperScissorsClientStub interface, Play(*context.T, GameId, ...rpc.CallOpt) (JudgePlayClientCall, error)
+pkg rps, type RockPaperScissorsClientStub interface, Record(*context.T, ScoreCard, ...rpc.CallOpt) error
+pkg rps, type RockPaperScissorsClientStub interface, unexported methods
+pkg rps, type RockPaperScissorsServerMethods interface { Challenge, CreateGame, Play, Record }
+pkg rps, type RockPaperScissorsServerMethods interface, Challenge(*context.T, rpc.ServerCall, string, GameId, GameOptions) error
+pkg rps, type RockPaperScissorsServerMethods interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type RockPaperScissorsServerMethods interface, Play(*context.T, JudgePlayServerCall, GameId) (PlayResult, error)
+pkg rps, type RockPaperScissorsServerMethods interface, Record(*context.T, rpc.ServerCall, ScoreCard) error
+pkg rps, type RockPaperScissorsServerStub interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type RockPaperScissorsServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg rps, type RockPaperScissorsServerStub interface, Play(*context.T, *JudgePlayServerCallStub, GameId) (PlayResult, error)
+pkg rps, type RockPaperScissorsServerStub interface, unexported methods
+pkg rps, type RockPaperScissorsServerStubMethods interface, CreateGame(*context.T, rpc.ServerCall, GameOptions) (GameId, error)
+pkg rps, type RockPaperScissorsServerStubMethods interface, Play(*context.T, *JudgePlayServerCallStub, GameId) (PlayResult, error)
+pkg rps, type RockPaperScissorsServerStubMethods interface, unexported methods
+pkg rps, type Round struct
+pkg rps, type Round struct, Comment string
+pkg rps, type Round struct, EndTime time.Time
+pkg rps, type Round struct, Moves PlayersMoves
+pkg rps, type Round struct, StartTime time.Time
+pkg rps, type Round struct, Winner WinnerTag
+pkg rps, type ScoreCard struct
+pkg rps, type ScoreCard struct, EndTime time.Time
+pkg rps, type ScoreCard struct, Judge string
+pkg rps, type ScoreCard struct, Opts GameOptions
+pkg rps, type ScoreCard struct, Players []string
+pkg rps, type ScoreCard struct, Rounds []Round
+pkg rps, type ScoreCard struct, StartTime time.Time
+pkg rps, type ScoreCard struct, Winner WinnerTag
+pkg rps, type ScoreKeeperClientMethods interface { Record }
+pkg rps, type ScoreKeeperClientMethods interface, Record(*context.T, ScoreCard, ...rpc.CallOpt) error
+pkg rps, type ScoreKeeperClientStub interface, Record(*context.T, ScoreCard, ...rpc.CallOpt) error
+pkg rps, type ScoreKeeperClientStub interface, unexported methods
+pkg rps, type ScoreKeeperServerMethods interface { Record }
+pkg rps, type ScoreKeeperServerMethods interface, Record(*context.T, rpc.ServerCall, ScoreCard) error
+pkg rps, type ScoreKeeperServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg rps, type ScoreKeeperServerStub interface, unexported methods
+pkg rps, type ScoreKeeperServerStubMethods ScoreKeeperServerMethods
+pkg rps, type WinnerTag byte
+pkg rps, var JudgeDesc rpc.InterfaceDesc
+pkg rps, var PlayerDesc rpc.InterfaceDesc
+pkg rps, var RockPaperScissorsDesc rpc.InterfaceDesc
+pkg rps, var ScoreKeeperDesc rpc.InterfaceDesc
diff --git a/examples/rps/internal/.api b/examples/rps/internal/.api
new file mode 100644
index 0000000..a47f22b
--- /dev/null
+++ b/examples/rps/internal/.api
@@ -0,0 +1,6 @@
+pkg internal, func CreateName() string
+pkg internal, func FindJudge(*context.T) (string, error)
+pkg internal, func FindPlayer(*context.T) (string, error)
+pkg internal, func FindScoreKeepers(*context.T) ([]string, error)
+pkg internal, func FormatScoreCard(rps.ScoreCard) string
+pkg internal, func NewAuthorizer(string) security.Authorizer
diff --git a/examples/rps/rpsbot/.api b/examples/rps/rpsbot/.api
new file mode 100644
index 0000000..033dd6d
--- /dev/null
+++ b/examples/rps/rpsbot/.api
@@ -0,0 +1,21 @@
+pkg main, func NewJudge() *Judge
+pkg main, func NewPlayer() *Player
+pkg main, func NewRPS(*context.T) *RPS
+pkg main, func NewScoreKeeper() *ScoreKeeper
+pkg main, method (*Judge) Stats() int64
+pkg main, method (*Player) InitiateGame(*context.T) error
+pkg main, method (*Player) Stats() (int64, int64)
+pkg main, method (*Player) WaitUntilIdle()
+pkg main, method (*RPS) Challenge(*context.T, rpc.ServerCall, string, rps.GameId, rps.GameOptions) error
+pkg main, method (*RPS) CreateGame(*context.T, rpc.ServerCall, rps.GameOptions) (rps.GameId, error)
+pkg main, method (*RPS) Judge() *Judge
+pkg main, method (*RPS) Play(*context.T, rps.JudgePlayServerCall, rps.GameId) (rps.PlayResult, error)
+pkg main, method (*RPS) Player() *Player
+pkg main, method (*RPS) Record(*context.T, rpc.ServerCall, rps.ScoreCard) error
+pkg main, method (*RPS) ScoreKeeper() *ScoreKeeper
+pkg main, method (*ScoreKeeper) Record(*context.T, rpc.ServerCall, rps.ScoreCard) error
+pkg main, method (*ScoreKeeper) Stats() int64
+pkg main, type Judge struct
+pkg main, type Player struct
+pkg main, type RPS struct
+pkg main, type ScoreKeeper struct
diff --git a/examples/rps/rpsplayer/.api b/examples/rps/rpsplayer/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/rps/rpsplayer/.api
diff --git a/examples/rps/rpsscorekeeper/.api b/examples/rps/rpsscorekeeper/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/rps/rpsscorekeeper/.api
diff --git a/examples/tunnel/.api b/examples/tunnel/.api
new file mode 100644
index 0000000..29be5d4
--- /dev/null
+++ b/examples/tunnel/.api
@@ -0,0 +1,95 @@
+pkg tunnel, func TunnelClient(string) TunnelClientStub
+pkg tunnel, func TunnelServer(TunnelServerMethods) TunnelServerStub
+pkg tunnel, method (*TunnelForwardServerCallStub) Init(rpc.StreamServerCall)
+pkg tunnel, method (*TunnelForwardServerCallStub) RecvStream() interface {  Advance() bool; Value() []byte; Err() error;}
+pkg tunnel, method (*TunnelForwardServerCallStub) SendStream() interface {  Send(item []byte) error;}
+pkg tunnel, method (*TunnelShellServerCallStub) Init(rpc.StreamServerCall)
+pkg tunnel, method (*TunnelShellServerCallStub) RecvStream() interface {  Advance() bool; Value() ClientShellPacket; Err() error;}
+pkg tunnel, method (*TunnelShellServerCallStub) SendStream() interface {  Send(item ServerShellPacket) error;}
+pkg tunnel, method (ClientShellPacketEndOfFile) Index() int
+pkg tunnel, method (ClientShellPacketEndOfFile) Interface() interface{}
+pkg tunnel, method (ClientShellPacketEndOfFile) Name() string
+pkg tunnel, method (ClientShellPacketStdin) Index() int
+pkg tunnel, method (ClientShellPacketStdin) Interface() interface{}
+pkg tunnel, method (ClientShellPacketStdin) Name() string
+pkg tunnel, method (ClientShellPacketWinSize) Index() int
+pkg tunnel, method (ClientShellPacketWinSize) Interface() interface{}
+pkg tunnel, method (ClientShellPacketWinSize) Name() string
+pkg tunnel, method (ServerShellPacketStderr) Index() int
+pkg tunnel, method (ServerShellPacketStderr) Interface() interface{}
+pkg tunnel, method (ServerShellPacketStderr) Name() string
+pkg tunnel, method (ServerShellPacketStdout) Index() int
+pkg tunnel, method (ServerShellPacketStdout) Interface() interface{}
+pkg tunnel, method (ServerShellPacketStdout) Name() string
+pkg tunnel, type ClientShellPacket interface, Index() int
+pkg tunnel, type ClientShellPacket interface, Interface() interface{}
+pkg tunnel, type ClientShellPacket interface, Name() string
+pkg tunnel, type ClientShellPacket interface, unexported methods
+pkg tunnel, type ClientShellPacketEndOfFile struct
+pkg tunnel, type ClientShellPacketEndOfFile struct, Value unused
+pkg tunnel, type ClientShellPacketStdin struct
+pkg tunnel, type ClientShellPacketStdin struct, Value []byte
+pkg tunnel, type ClientShellPacketWinSize struct
+pkg tunnel, type ClientShellPacketWinSize struct, Value WindowSize
+pkg tunnel, type ServerShellPacket interface, Index() int
+pkg tunnel, type ServerShellPacket interface, Interface() interface{}
+pkg tunnel, type ServerShellPacket interface, Name() string
+pkg tunnel, type ServerShellPacket interface, unexported methods
+pkg tunnel, type ServerShellPacketStderr struct
+pkg tunnel, type ServerShellPacketStderr struct, Value []byte
+pkg tunnel, type ServerShellPacketStdout struct
+pkg tunnel, type ServerShellPacketStdout struct, Value []byte
+pkg tunnel, type ShellOpts struct
+pkg tunnel, type ShellOpts struct, Environment []string
+pkg tunnel, type ShellOpts struct, UsePty bool
+pkg tunnel, type ShellOpts struct, WinSize WindowSize
+pkg tunnel, type TunnelClientMethods interface { Forward, Shell }
+pkg tunnel, type TunnelClientMethods interface, Forward(*context.T, string, string, ...rpc.CallOpt) (TunnelForwardClientCall, error)
+pkg tunnel, type TunnelClientMethods interface, Shell(*context.T, string, ShellOpts, ...rpc.CallOpt) (TunnelShellClientCall, error)
+pkg tunnel, type TunnelClientStub interface, Forward(*context.T, string, string, ...rpc.CallOpt) (TunnelForwardClientCall, error)
+pkg tunnel, type TunnelClientStub interface, Shell(*context.T, string, ShellOpts, ...rpc.CallOpt) (TunnelShellClientCall, error)
+pkg tunnel, type TunnelClientStub interface, unexported methods
+pkg tunnel, type TunnelForwardClientCall interface { Finish, RecvStream, SendStream }
+pkg tunnel, type TunnelForwardClientCall interface, Finish() error
+pkg tunnel, type TunnelForwardClientCall interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg tunnel, type TunnelForwardClientCall interface, SendStream() interface {  Send(item []byte) error;; Close() error;}
+pkg tunnel, type TunnelForwardClientStream interface { RecvStream, SendStream }
+pkg tunnel, type TunnelForwardClientStream interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg tunnel, type TunnelForwardClientStream interface, SendStream() interface {  Send(item []byte) error;; Close() error;}
+pkg tunnel, type TunnelForwardServerCall interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg tunnel, type TunnelForwardServerCall interface, SendStream() interface {  Send(item []byte) error;}
+pkg tunnel, type TunnelForwardServerCall interface, unexported methods
+pkg tunnel, type TunnelForwardServerCallStub struct
+pkg tunnel, type TunnelForwardServerCallStub struct, embedded rpc.StreamServerCall
+pkg tunnel, type TunnelForwardServerStream interface { RecvStream, SendStream }
+pkg tunnel, type TunnelForwardServerStream interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg tunnel, type TunnelForwardServerStream interface, SendStream() interface {  Send(item []byte) error;}
+pkg tunnel, type TunnelServerMethods interface { Forward, Shell }
+pkg tunnel, type TunnelServerMethods interface, Forward(*context.T, TunnelForwardServerCall, string, string) error
+pkg tunnel, type TunnelServerMethods interface, Shell(*context.T, TunnelShellServerCall, string, ShellOpts) (int32, error)
+pkg tunnel, type TunnelServerStub interface { Describe__, Forward, Shell }
+pkg tunnel, type TunnelServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg tunnel, type TunnelServerStub interface, Forward(*context.T, *TunnelForwardServerCallStub, string, string) error
+pkg tunnel, type TunnelServerStub interface, Shell(*context.T, *TunnelShellServerCallStub, string, ShellOpts) (int32, error)
+pkg tunnel, type TunnelServerStubMethods interface { Forward, Shell }
+pkg tunnel, type TunnelServerStubMethods interface, Forward(*context.T, *TunnelForwardServerCallStub, string, string) error
+pkg tunnel, type TunnelServerStubMethods interface, Shell(*context.T, *TunnelShellServerCallStub, string, ShellOpts) (int32, error)
+pkg tunnel, type TunnelShellClientCall interface { Finish, RecvStream, SendStream }
+pkg tunnel, type TunnelShellClientCall interface, Finish() (int32, error)
+pkg tunnel, type TunnelShellClientCall interface, RecvStream() interface {  Advance() bool;; Value() ServerShellPacket;; Err() error;}
+pkg tunnel, type TunnelShellClientCall interface, SendStream() interface {  Send(item ClientShellPacket) error;; Close() error;}
+pkg tunnel, type TunnelShellClientStream interface { RecvStream, SendStream }
+pkg tunnel, type TunnelShellClientStream interface, RecvStream() interface {  Advance() bool;; Value() ServerShellPacket;; Err() error;}
+pkg tunnel, type TunnelShellClientStream interface, SendStream() interface {  Send(item ClientShellPacket) error;; Close() error;}
+pkg tunnel, type TunnelShellServerCall interface, RecvStream() interface {  Advance() bool;; Value() ClientShellPacket;; Err() error;}
+pkg tunnel, type TunnelShellServerCall interface, SendStream() interface {  Send(item ServerShellPacket) error;}
+pkg tunnel, type TunnelShellServerCall interface, unexported methods
+pkg tunnel, type TunnelShellServerCallStub struct
+pkg tunnel, type TunnelShellServerCallStub struct, embedded rpc.StreamServerCall
+pkg tunnel, type TunnelShellServerStream interface { RecvStream, SendStream }
+pkg tunnel, type TunnelShellServerStream interface, RecvStream() interface {  Advance() bool;; Value() ClientShellPacket;; Err() error;}
+pkg tunnel, type TunnelShellServerStream interface, SendStream() interface {  Send(item ServerShellPacket) error;}
+pkg tunnel, type WindowSize struct
+pkg tunnel, type WindowSize struct, Cols uint16
+pkg tunnel, type WindowSize struct, Rows uint16
+pkg tunnel, var TunnelDesc rpc.InterfaceDesc
diff --git a/examples/tunnel/internal/.api b/examples/tunnel/internal/.api
new file mode 100644
index 0000000..2c5268a
--- /dev/null
+++ b/examples/tunnel/internal/.api
@@ -0,0 +1,10 @@
+pkg internal, func EnterRawTerminalMode() string
+pkg internal, func Forward(net.Conn, sender, receiver) error
+pkg internal, func GetWindowSize() (*Winsize, error)
+pkg internal, func RestoreTerminalSettings(string)
+pkg internal, func SetWindowSize(uintptr, Winsize) error
+pkg internal, type Winsize struct
+pkg internal, type Winsize struct, Col uint16
+pkg internal, type Winsize struct, Row uint16
+pkg internal, type Winsize struct, Xpixel uint16
+pkg internal, type Winsize struct, Ypixel uint16
diff --git a/examples/tunnel/tunneld/.api b/examples/tunnel/tunneld/.api
new file mode 100644
index 0000000..d912224
--- /dev/null
+++ b/examples/tunnel/tunneld/.api
@@ -0,0 +1,3 @@
+pkg main, method (*T) Forward(*context.T, tunnel.TunnelForwardServerCall, string, string) error
+pkg main, method (*T) Shell(*context.T, tunnel.TunnelShellServerCall, string, tunnel.ShellOpts) (int32, error)
+pkg main, type T struct
diff --git a/examples/tunnel/vsh/.api b/examples/tunnel/vsh/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/examples/tunnel/vsh/.api
diff --git a/internal/reflectutil/.api b/internal/reflectutil/.api
new file mode 100644
index 0000000..03b663e
--- /dev/null
+++ b/internal/reflectutil/.api
@@ -0,0 +1,10 @@
+pkg reflectutil, func AreComparable(interface{}, interface{}) bool
+pkg reflectutil, func AreComparableTypes(reflect.Type, reflect.Type) bool
+pkg reflectutil, func Compare(interface{}, interface{}) int
+pkg reflectutil, func CompareValues(reflect.Value, reflect.Value) int
+pkg reflectutil, func DeepEqual(interface{}, interface{}, *DeepEqualOpts) bool
+pkg reflectutil, func Less(interface{}, interface{}) bool
+pkg reflectutil, func LessValues(reflect.Value, reflect.Value) bool
+pkg reflectutil, func TrySortValues([]reflect.Value) []reflect.Value
+pkg reflectutil, type DeepEqualOpts struct
+pkg reflectutil, type DeepEqualOpts struct, SliceEqNilEmpty bool
diff --git a/lib/exec/.api b/lib/exec/.api
new file mode 100644
index 0000000..3e3c794
--- /dev/null
+++ b/lib/exec/.api
@@ -0,0 +1,49 @@
+pkg exec, const ExecVersionVariable ideal-string
+pkg exec, const FileOffset ideal-int
+pkg exec, func GetChildHandle() (*ChildHandle, error)
+pkg exec, func Getenv([]string, string) (string, error)
+pkg exec, func Mergeenv([]string, []string) []string
+pkg exec, func NewConfig() Config
+pkg exec, func NewParentHandle(*exec.Cmd, ...ParentHandleOpt) *ParentHandle
+pkg exec, func Setenv([]string, string, string) []string
+pkg exec, method (*ChildHandle) NewExtraFile(uintptr, string) *os.File
+pkg exec, method (*ChildHandle) SetFailed(error) error
+pkg exec, method (*ChildHandle) SetReady() error
+pkg exec, method (*ParentHandle) ChildPid() int
+pkg exec, method (*ParentHandle) Clean() error
+pkg exec, method (*ParentHandle) Exists() bool
+pkg exec, method (*ParentHandle) Kill() error
+pkg exec, method (*ParentHandle) Pid() int
+pkg exec, method (*ParentHandle) Signal(syscall.Signal) error
+pkg exec, method (*ParentHandle) Start() error
+pkg exec, method (*ParentHandle) Wait(time.Duration) error
+pkg exec, method (*ParentHandle) WaitForReady(time.Duration) error
+pkg exec, method (ConfigOpt) ExecParentHandleOpt()
+pkg exec, method (SecretOpt) ExecParentHandleOpt()
+pkg exec, method (TimeKeeperOpt) ExecParentHandleOpt()
+pkg exec, method (UseExecProtocolOpt) ExecParentHandleOpt()
+pkg exec, type ChildHandle struct
+pkg exec, type ChildHandle struct, Config Config
+pkg exec, type ChildHandle struct, Secret string
+pkg exec, type Config interface { Clear, Dump, Get, MergeFrom, Serialize, Set }
+pkg exec, type Config interface, Clear(string)
+pkg exec, type Config interface, Dump() map[string]string
+pkg exec, type Config interface, Get(string) (string, error)
+pkg exec, type Config interface, MergeFrom(string) error
+pkg exec, type Config interface, Serialize() (string, error)
+pkg exec, type Config interface, Set(string, string)
+pkg exec, type ConfigOpt struct
+pkg exec, type ConfigOpt struct, embedded Config
+pkg exec, type ParentHandle struct
+pkg exec, type ParentHandleOpt interface { ExecParentHandleOpt }
+pkg exec, type ParentHandleOpt interface, ExecParentHandleOpt()
+pkg exec, type SecretOpt string
+pkg exec, type TimeKeeperOpt struct
+pkg exec, type TimeKeeperOpt struct, embedded timekeeper.TimeKeeper
+pkg exec, type UseExecProtocolOpt bool
+pkg exec, var ErrAuthTimeout unknown-type
+pkg exec, var ErrNoVersion unknown-type
+pkg exec, var ErrNotUsingProtocol unknown-type
+pkg exec, var ErrSecretTooLarge unknown-type
+pkg exec, var ErrTimeout unknown-type
+pkg exec, var ErrUnsupportedVersion unknown-type
diff --git a/lib/flags/.api b/lib/flags/.api
new file mode 100644
index 0000000..b82bdff
--- /dev/null
+++ b/lib/flags/.api
@@ -0,0 +1,52 @@
+pkg flags, const Listen FlagGroup
+pkg flags, const Permissions FlagGroup
+pkg flags, const Runtime FlagGroup
+pkg flags, func CreateAndRegister(*flag.FlagSet, ...FlagGroup) *Flags
+pkg flags, func DefaultNamespaceRoot() string
+pkg flags, func SetDefaultHostPort(string)
+pkg flags, func SetDefaultNamespaceRoot(string)
+pkg flags, func SetDefaultProtocol(string)
+pkg flags, method (*Flags) Args() []string
+pkg flags, method (*Flags) HasGroup(FlagGroup) bool
+pkg flags, method (*Flags) ListenFlags() ListenFlags
+pkg flags, method (*Flags) Parse([]string, map[string]string) error
+pkg flags, method (*Flags) PermissionsFlags() PermissionsFlags
+pkg flags, method (*Flags) RuntimeFlags() RuntimeFlags
+pkg flags, method (*IPFlag) Set(string) error
+pkg flags, method (*IPHostPortFlag) Set(string) error
+pkg flags, method (*TCPProtocolFlag) Set(string) error
+pkg flags, method (IPFlag) Get() interface{}
+pkg flags, method (IPFlag) String() string
+pkg flags, method (IPHostPortFlag) Get() interface{}
+pkg flags, method (IPHostPortFlag) String() string
+pkg flags, method (PermissionsFlags) PermissionsFile(string) string
+pkg flags, method (PermissionsFlags) PermissionsLiteral() string
+pkg flags, method (TCPProtocolFlag) Get() interface{}
+pkg flags, method (TCPProtocolFlag) String() string
+pkg flags, type FlagGroup int
+pkg flags, type Flags struct
+pkg flags, type Flags struct, FlagSet *flag.FlagSet
+pkg flags, type IPFlag struct
+pkg flags, type IPFlag struct, embedded net.IP
+pkg flags, type IPHostPortFlag struct
+pkg flags, type IPHostPortFlag struct, Address string
+pkg flags, type IPHostPortFlag struct, Host string
+pkg flags, type IPHostPortFlag struct, IP []*net.IPAddr
+pkg flags, type IPHostPortFlag struct, Port string
+pkg flags, type ListenAddrs []struct {  Protocol, Address string;}
+pkg flags, type ListenFlags struct
+pkg flags, type ListenFlags struct, Addrs ListenAddrs
+pkg flags, type ListenFlags struct, ListenProxy string
+pkg flags, type PermissionsFlags struct
+pkg flags, type RuntimeFlags struct
+pkg flags, type RuntimeFlags struct, Credentials string
+pkg flags, type RuntimeFlags struct, I18nCatalogue string
+pkg flags, type RuntimeFlags struct, NamespaceRoots []string
+pkg flags, type RuntimeFlags struct, Vtrace VtraceFlags
+pkg flags, type TCPProtocolFlag struct
+pkg flags, type TCPProtocolFlag struct, Protocol string
+pkg flags, type VtraceFlags struct
+pkg flags, type VtraceFlags struct, CacheSize int
+pkg flags, type VtraceFlags struct, CollectRegexp string
+pkg flags, type VtraceFlags struct, DumpOnShutdown bool
+pkg flags, type VtraceFlags struct, SampleRate float64
diff --git a/lib/glob/.api b/lib/glob/.api
new file mode 100644
index 0000000..380c4fe
--- /dev/null
+++ b/lib/glob/.api
@@ -0,0 +1,10 @@
+pkg glob, func Parse(string) (*Glob, error)
+pkg glob, method (*Glob) Finished() bool
+pkg glob, method (*Glob) Len() int
+pkg glob, method (*Glob) MatchInitialSegment(string) (bool, bool, *Glob)
+pkg glob, method (*Glob) PartialMatch(int, []string) (bool, bool, *Glob)
+pkg glob, method (*Glob) Restricted() bool
+pkg glob, method (*Glob) Split(int) *Glob
+pkg glob, method (*Glob) SplitFixedPrefix() ([]string, *Glob)
+pkg glob, method (*Glob) String() string
+pkg glob, type Glob struct
diff --git a/lib/mgmt/.api b/lib/mgmt/.api
new file mode 100644
index 0000000..d23ac74
--- /dev/null
+++ b/lib/mgmt/.api
@@ -0,0 +1,8 @@
+pkg mgmt, const AddressConfigKey ideal-string
+pkg mgmt, const AppCycleManagerConfigKey ideal-string
+pkg mgmt, const AppOriginConfigKey ideal-string
+pkg mgmt, const ChildNameConfigKey ideal-string
+pkg mgmt, const ParentBlessingConfigKey ideal-string
+pkg mgmt, const ParentNameConfigKey ideal-string
+pkg mgmt, const ProtocolConfigKey ideal-string
+pkg mgmt, const SecurityAgentEndpointConfigKey ideal-string
diff --git a/lib/security/.api b/lib/security/.api
new file mode 100644
index 0000000..f5b8827
--- /dev/null
+++ b/lib/security/.api
@@ -0,0 +1,21 @@
+pkg security, func CreatePersistentPrincipal(string, []byte) (security.Principal, error)
+pkg security, func InitDefaultBlessings(security.Principal, string) error
+pkg security, func LoadPEMKey(io.Reader, []byte) (interface{}, error)
+pkg security, func LoadPersistentPrincipal(string, []byte) (security.Principal, error)
+pkg security, func NewFileSerializer(string, string) *FileSerializer
+pkg security, func NewPrincipal() (security.Principal, error)
+pkg security, func NewPrincipalFromSigner(security.Signer, *PrincipalStateSerializer) (security.Principal, error)
+pkg security, func NewPrincipalKey() (security.PublicKey, *ecdsa.PrivateKey, error)
+pkg security, func NewPrincipalStateSerializer(string) (*PrincipalStateSerializer, error)
+pkg security, func SavePEMKey(io.Writer, interface{}, []byte) error
+pkg security, func SetDefaultBlessings(security.Principal, security.Blessings) error
+pkg security, method (*FileSerializer) Readers() (io.ReadCloser, io.ReadCloser, error)
+pkg security, method (*FileSerializer) Writers() (io.WriteCloser, io.WriteCloser, error)
+pkg security, type FileSerializer struct
+pkg security, type PrincipalStateSerializer struct
+pkg security, type PrincipalStateSerializer struct, BlessingRoots SerializerReaderWriter
+pkg security, type PrincipalStateSerializer struct, BlessingStore SerializerReaderWriter
+pkg security, type SerializerReaderWriter interface { Readers, Writers }
+pkg security, type SerializerReaderWriter interface, Readers() (io.ReadCloser, io.ReadCloser, error)
+pkg security, type SerializerReaderWriter interface, Writers() (io.WriteCloser, io.WriteCloser, error)
+pkg security, var ErrBadPassphrase unknown-type
diff --git a/lib/security/audit/.api b/lib/security/audit/.api
new file mode 100644
index 0000000..7643440
--- /dev/null
+++ b/lib/security/audit/.api
@@ -0,0 +1,9 @@
+pkg audit, func NewPrincipal(security.Principal, Auditor) security.Principal
+pkg audit, method (Entry) String() string
+pkg audit, type Auditor interface { Audit }
+pkg audit, type Auditor interface, Audit(Entry) error
+pkg audit, type Entry struct
+pkg audit, type Entry struct, Arguments []interface{}
+pkg audit, type Entry struct, Method string
+pkg audit, type Entry struct, Results []interface{}
+pkg audit, type Entry struct, Timestamp time.Time
diff --git a/lib/security/securityflag/.api b/lib/security/securityflag/.api
new file mode 100644
index 0000000..f10c25e
--- /dev/null
+++ b/lib/security/securityflag/.api
@@ -0,0 +1,2 @@
+pkg securityflag, func NewAuthorizerOrDie() security.Authorizer
+pkg securityflag, func PermissionsFromFlag() (access.Permissions, error)
diff --git a/lib/security/serialization/.api b/lib/security/serialization/.api
new file mode 100644
index 0000000..a41ee0e
--- /dev/null
+++ b/lib/security/serialization/.api
@@ -0,0 +1,24 @@
+pkg serialization, func NewSigningWriteCloser(io.WriteCloser, io.WriteCloser, Signer, *Options) (io.WriteCloser, error)
+pkg serialization, func NewVerifyingReader(io.Reader, io.Reader, security.PublicKey) (io.Reader, error)
+pkg serialization, method (SignedDataHash) Index() int
+pkg serialization, method (SignedDataHash) Interface() interface{}
+pkg serialization, method (SignedDataHash) Name() string
+pkg serialization, method (SignedDataSignature) Index() int
+pkg serialization, method (SignedDataSignature) Interface() interface{}
+pkg serialization, method (SignedDataSignature) Name() string
+pkg serialization, type HashCode [32]byte
+pkg serialization, type Options struct
+pkg serialization, type Options struct, ChunkSizeBytes int64
+pkg serialization, type SignedData interface, Index() int
+pkg serialization, type SignedData interface, Interface() interface{}
+pkg serialization, type SignedData interface, Name() string
+pkg serialization, type SignedData interface, unexported methods
+pkg serialization, type SignedDataHash struct
+pkg serialization, type SignedDataHash struct, Value HashCode
+pkg serialization, type SignedDataSignature struct
+pkg serialization, type SignedDataSignature struct, Value security.Signature
+pkg serialization, type SignedHeader struct
+pkg serialization, type SignedHeader struct, ChunkSizeBytes int64
+pkg serialization, type Signer interface { PublicKey, Sign }
+pkg serialization, type Signer interface, PublicKey() security.PublicKey
+pkg serialization, type Signer interface, Sign([]byte) (security.Signature, error)
diff --git a/lib/signals/.api b/lib/signals/.api
new file mode 100644
index 0000000..0ae17ce
--- /dev/null
+++ b/lib/signals/.api
@@ -0,0 +1,4 @@
+pkg signals, const DoubleStopExitCode ideal-int
+pkg signals, const STOP stopSignal
+pkg signals, func ShutdownOnSignals(*context.T, ...os.Signal) <-chan os.Signal
+pkg signals, var SameSignalTimeWindow time.Duration
diff --git a/lib/stats/.api b/lib/stats/.api
new file mode 100644
index 0000000..369d592
--- /dev/null
+++ b/lib/stats/.api
@@ -0,0 +1,43 @@
+pkg stats, func Delete(string) error
+pkg stats, func GetStatsObject(string) (StatsObject, error)
+pkg stats, func Glob(string, string, time.Time, bool) *GlobIterator
+pkg stats, func NewCounter(string) *counter.Counter
+pkg stats, func NewFloat(string) *Float
+pkg stats, func NewFloatFunc(string, func() float64) StatsObject
+pkg stats, func NewHistogram(string, histogram.Options) *histogram.Histogram
+pkg stats, func NewInteger(string) *Integer
+pkg stats, func NewIntegerFunc(string, func() int64) StatsObject
+pkg stats, func NewMap(string) *Map
+pkg stats, func NewString(string) *String
+pkg stats, func NewStringFunc(string, func() string) StatsObject
+pkg stats, func Value(string) (interface{}, error)
+pkg stats, method (*Float) Incr(float64)
+pkg stats, method (*Float) LastUpdate() time.Time
+pkg stats, method (*Float) Set(float64)
+pkg stats, method (*Float) Value() interface{}
+pkg stats, method (*GlobIterator) Advance() bool
+pkg stats, method (*Integer) Incr(int64)
+pkg stats, method (*Integer) LastUpdate() time.Time
+pkg stats, method (*Integer) Set(int64)
+pkg stats, method (*Integer) Value() interface{}
+pkg stats, method (*Map) Delete([]string)
+pkg stats, method (*Map) Keys() []string
+pkg stats, method (*Map) LastUpdate() time.Time
+pkg stats, method (*Map) Set([]KeyValue)
+pkg stats, method (*Map) Value() interface{}
+pkg stats, method (*String) LastUpdate() time.Time
+pkg stats, method (*String) Set(string)
+pkg stats, method (*String) Value() interface{}
+pkg stats, method (GlobIterator) Err() error
+pkg stats, method (GlobIterator) Value() KeyValue
+pkg stats, type Float struct
+pkg stats, type GlobIterator struct
+pkg stats, type Integer struct
+pkg stats, type KeyValue struct
+pkg stats, type KeyValue struct, Key string
+pkg stats, type KeyValue struct, Value interface{}
+pkg stats, type Map struct
+pkg stats, type StatsObject interface { LastUpdate, Value }
+pkg stats, type StatsObject interface, LastUpdate() time.Time
+pkg stats, type StatsObject interface, Value() interface{}
+pkg stats, type String struct
diff --git a/lib/stats/counter/.api b/lib/stats/counter/.api
new file mode 100644
index 0000000..fe261b1
--- /dev/null
+++ b/lib/stats/counter/.api
@@ -0,0 +1,27 @@
+pkg counter, func New() *Counter
+pkg counter, func NewTracker() *Tracker
+pkg counter, method (*Counter) Delta10m() int64
+pkg counter, method (*Counter) Delta1h() int64
+pkg counter, method (*Counter) Delta1m() int64
+pkg counter, method (*Counter) Incr(int64)
+pkg counter, method (*Counter) LastUpdate() time.Time
+pkg counter, method (*Counter) Rate10m() float64
+pkg counter, method (*Counter) Rate1h() float64
+pkg counter, method (*Counter) Rate1m() float64
+pkg counter, method (*Counter) Reset()
+pkg counter, method (*Counter) Set(int64)
+pkg counter, method (*Counter) Value() int64
+pkg counter, method (*Tracker) LastUpdate() time.Time
+pkg counter, method (*Tracker) Max() int64
+pkg counter, method (*Tracker) Max10m() int64
+pkg counter, method (*Tracker) Max1h() int64
+pkg counter, method (*Tracker) Max1m() int64
+pkg counter, method (*Tracker) Min() int64
+pkg counter, method (*Tracker) Min10m() int64
+pkg counter, method (*Tracker) Min1h() int64
+pkg counter, method (*Tracker) Min1m() int64
+pkg counter, method (*Tracker) Push(int64)
+pkg counter, method (*Tracker) Reset()
+pkg counter, type Counter struct
+pkg counter, type Tracker struct
+pkg counter, var TimeNow func() time.Time
diff --git a/lib/stats/histogram/.api b/lib/stats/histogram/.api
new file mode 100644
index 0000000..ac99368
--- /dev/null
+++ b/lib/stats/histogram/.api
@@ -0,0 +1,14 @@
+pkg histogram, func New(Options) *Histogram
+pkg histogram, method (*Histogram) Add(int64) error
+pkg histogram, method (*Histogram) Delta10m() stats.HistogramValue
+pkg histogram, method (*Histogram) Delta1h() stats.HistogramValue
+pkg histogram, method (*Histogram) Delta1m() stats.HistogramValue
+pkg histogram, method (*Histogram) LastUpdate() time.Time
+pkg histogram, method (*Histogram) Opts() Options
+pkg histogram, method (*Histogram) Value() stats.HistogramValue
+pkg histogram, type Histogram struct
+pkg histogram, type Options struct
+pkg histogram, type Options struct, GrowthFactor float64
+pkg histogram, type Options struct, MinValue int64
+pkg histogram, type Options struct, NumBuckets int
+pkg histogram, type Options struct, SmallestBucketSize float64
diff --git a/lib/stats/sysstats/.api b/lib/stats/sysstats/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/stats/sysstats/.api
diff --git a/lib/timekeeper/.api b/lib/timekeeper/.api
new file mode 100644
index 0000000..7bab5b8
--- /dev/null
+++ b/lib/timekeeper/.api
@@ -0,0 +1,4 @@
+pkg timekeeper, func RealTime() TimeKeeper
+pkg timekeeper, type TimeKeeper interface { After, Sleep }
+pkg timekeeper, type TimeKeeper interface, After(time.Duration) <-chan time.Time
+pkg timekeeper, type TimeKeeper interface, Sleep(time.Duration)
diff --git a/lib/vdl/build/.api b/lib/vdl/build/.api
new file mode 100644
index 0000000..d66ec25
--- /dev/null
+++ b/lib/vdl/build/.api
@@ -0,0 +1,27 @@
+pkg build, const UnknownPathIsError UnknownPathMode
+pkg build, const UnknownPathIsIgnored UnknownPathMode
+pkg build, func BuildConfig(string, io.Reader, *vdl.Type, []string, *compile.Env) *vdl.Value
+pkg build, func BuildConfigValue(string, io.Reader, []string, *compile.Env, interface{})
+pkg build, func BuildExprs(string, []*vdl.Type, *compile.Env) []*vdl.Value
+pkg build, func BuildPackage(*Package, *compile.Env) *compile.Package
+pkg build, func IsDirPath(string) bool
+pkg build, func IsImportPath(string) bool
+pkg build, func ParsePackage(*Package, parse.Opts, *vdlutil.Errors) []*parse.File
+pkg build, func SrcDirs(*vdlutil.Errors) []string
+pkg build, func TransitivePackages([]string, UnknownPathMode, Opts, *vdlutil.Errors) []*Package
+pkg build, func TransitivePackagesForConfig(string, io.Reader, Opts, *vdlutil.Errors) []*Package
+pkg build, method (*Package) CloseFiles() error
+pkg build, method (*Package) OpenFiles() (map[string]io.Reader, error)
+pkg build, method (UnknownPathMode) String() string
+pkg build, type Opts struct
+pkg build, type Opts struct, Extensions []string
+pkg build, type Opts struct, VDLConfigName string
+pkg build, type Package struct
+pkg build, type Package struct, BaseFileNames []string
+pkg build, type Package struct, Config vdltool.Config
+pkg build, type Package struct, Dir string
+pkg build, type Package struct, GenPath string
+pkg build, type Package struct, Name string
+pkg build, type Package struct, OpenFilesFunc func([]string) (map[string]io.ReadCloser, error)
+pkg build, type Package struct, Path string
+pkg build, type UnknownPathMode int
diff --git a/lib/vdl/codegen/.api b/lib/vdl/codegen/.api
new file mode 100644
index 0000000..9c9f12f
--- /dev/null
+++ b/lib/vdl/codegen/.api
@@ -0,0 +1,8 @@
+pkg codegen, func ImportsForFiles(...*compile.File) Imports
+pkg codegen, func ImportsForValue(*vdl.Value, string) Imports
+pkg codegen, method (Imports) LookupLocal(string) string
+pkg codegen, type Import struct
+pkg codegen, type Import struct, Local string
+pkg codegen, type Import struct, Name string
+pkg codegen, type Import struct, Path string
+pkg codegen, type Imports []Import
diff --git a/lib/vdl/codegen/golang/.api b/lib/vdl/codegen/golang/.api
new file mode 100644
index 0000000..09ce08a
--- /dev/null
+++ b/lib/vdl/codegen/golang/.api
@@ -0,0 +1 @@
+pkg golang, func Generate(*compile.File, *compile.Env) []byte
diff --git a/lib/vdl/codegen/java/.api b/lib/vdl/codegen/java/.api
new file mode 100644
index 0000000..d8a7ffc
--- /dev/null
+++ b/lib/vdl/codegen/java/.api
@@ -0,0 +1,6 @@
+pkg java, func Generate(*compile.Package, *compile.Env) []JavaFileInfo
+pkg java, func SetPkgPathXlator(func(string) string)
+pkg java, type JavaFileInfo struct
+pkg java, type JavaFileInfo struct, Data []byte
+pkg java, type JavaFileInfo struct, Dir string
+pkg java, type JavaFileInfo struct, Name string
diff --git a/lib/vdl/codegen/javascript/.api b/lib/vdl/codegen/javascript/.api
new file mode 100644
index 0000000..d557939
--- /dev/null
+++ b/lib/vdl/codegen/javascript/.api
@@ -0,0 +1 @@
+pkg javascript, func Generate(*compile.Package, *compile.Env, func(string) string, string) []byte
diff --git a/lib/vdl/codegen/vdlgen/.api b/lib/vdl/codegen/vdlgen/.api
new file mode 100644
index 0000000..fd09b5e
--- /dev/null
+++ b/lib/vdl/codegen/vdlgen/.api
@@ -0,0 +1,11 @@
+pkg vdlgen, func BaseType(*vdl.Type, string, codegen.Imports) string
+pkg vdlgen, func Imports(codegen.Imports) string
+pkg vdlgen, func PrintEmbed(io.Writer, signature.Embed)
+pkg vdlgen, func PrintInterface(io.Writer, signature.Interface, *NamedTypes)
+pkg vdlgen, func PrintMethod(io.Writer, signature.Method, *NamedTypes)
+pkg vdlgen, func Type(*vdl.Type, string, codegen.Imports) string
+pkg vdlgen, func TypedConst(*vdl.Value, string, codegen.Imports) string
+pkg vdlgen, func UntypedConst(*vdl.Value, string, codegen.Imports) string
+pkg vdlgen, method (*NamedTypes) Add(*vdl.Type)
+pkg vdlgen, method (NamedTypes) Print(io.Writer)
+pkg vdlgen, type NamedTypes struct
diff --git a/lib/vdl/compile/.api b/lib/vdl/compile/.api
new file mode 100644
index 0000000..0739783
--- /dev/null
+++ b/lib/vdl/compile/.api
@@ -0,0 +1,99 @@
+pkg compile, func CompileConfig(*vdl.Type, *parse.Config, *Env) *vdl.Value
+pkg compile, func CompileExpr(*vdl.Type, parse.ConstExpr, *Env) *vdl.Value
+pkg compile, func CompilePackage(string, string, []*parse.File, vdltool.Config, *Env) *Package
+pkg compile, func NewEnv(int) *Env
+pkg compile, func NewEnvWithErrors(*vdlutil.Errors) *Env
+pkg compile, method (*ConstDef) String() string
+pkg compile, method (*Env) DisallowPathQualifiers() *Env
+pkg compile, method (*Env) Errorf(*File, parse.Pos, string, ...interface{})
+pkg compile, method (*Env) EvalConst(string, *File) (opconst.Const, error)
+pkg compile, method (*Env) FindConstDef(*vdl.Value) *ConstDef
+pkg compile, method (*Env) FindTypeDef(*vdl.Type) *TypeDef
+pkg compile, method (*Env) ResolveConst(string, *File) (*ConstDef, string)
+pkg compile, method (*Env) ResolveInterface(string, *File) (*Interface, string)
+pkg compile, method (*Env) ResolvePackage(string) *Package
+pkg compile, method (*Env) ResolveType(string, *File) (*TypeDef, string)
+pkg compile, method (*ErrorDef) String() string
+pkg compile, method (*Field) String() string
+pkg compile, method (*File) DeclareIdent(string, string) error
+pkg compile, method (*File) LookupImportPath(string) string
+pkg compile, method (*File) String() string
+pkg compile, method (*File) ValidateImportPackagePath(string) bool
+pkg compile, method (*Interface) AllMethods() []*Method
+pkg compile, method (*Interface) String() string
+pkg compile, method (*Interface) TransitiveEmbeds() []*Interface
+pkg compile, method (*Method) String() string
+pkg compile, method (*NamePos) String() string
+pkg compile, method (*Package) QualifiedName(string) string
+pkg compile, method (*Package) ResolveConst(string) *ConstDef
+pkg compile, method (*Package) ResolveInterface(string) *Interface
+pkg compile, method (*Package) ResolveType(string) *TypeDef
+pkg compile, method (*Package) String() string
+pkg compile, method (*TypeDef) String() string
+pkg compile, type ConstDef struct
+pkg compile, type ConstDef struct, Exported bool
+pkg compile, type ConstDef struct, File *File
+pkg compile, type ConstDef struct, Value *vdl.Value
+pkg compile, type ConstDef struct, embedded NamePos
+pkg compile, type Env struct
+pkg compile, type Env struct, Errors *vdlutil.Errors
+pkg compile, type ErrorDef struct
+pkg compile, type ErrorDef struct, English string
+pkg compile, type ErrorDef struct, Exported bool
+pkg compile, type ErrorDef struct, Formats []LangFmt
+pkg compile, type ErrorDef struct, ID string
+pkg compile, type ErrorDef struct, Params []*Field
+pkg compile, type ErrorDef struct, RetryCode vdl.WireRetryCode
+pkg compile, type ErrorDef struct, embedded NamePos
+pkg compile, type Field struct
+pkg compile, type Field struct, Type *vdl.Type
+pkg compile, type Field struct, embedded NamePos
+pkg compile, type File struct
+pkg compile, type File struct, BaseName string
+pkg compile, type File struct, ConstDefs []*ConstDef
+pkg compile, type File struct, ErrorDefs []*ErrorDef
+pkg compile, type File struct, Interfaces []*Interface
+pkg compile, type File struct, Package *Package
+pkg compile, type File struct, PackageDef NamePos
+pkg compile, type File struct, PackageDeps []*Package
+pkg compile, type File struct, TypeDefs []*TypeDef
+pkg compile, type File struct, TypeDeps map[*vdl.Type]bool
+pkg compile, type Interface struct
+pkg compile, type Interface struct, Embeds []*Interface
+pkg compile, type Interface struct, Exported bool
+pkg compile, type Interface struct, File *File
+pkg compile, type Interface struct, Methods []*Method
+pkg compile, type Interface struct, embedded NamePos
+pkg compile, type LangFmt struct
+pkg compile, type LangFmt struct, Fmt string
+pkg compile, type LangFmt struct, Lang i18n.LangID
+pkg compile, type Method struct
+pkg compile, type Method struct, InArgs []*Field
+pkg compile, type Method struct, InStream *vdl.Type
+pkg compile, type Method struct, OutArgs []*Field
+pkg compile, type Method struct, OutStream *vdl.Type
+pkg compile, type Method struct, Tags []*vdl.Value
+pkg compile, type Method struct, embedded NamePos
+pkg compile, type NamePos parse.NamePos
+pkg compile, type Package struct
+pkg compile, type Package struct, Config vdltool.Config
+pkg compile, type Package struct, FileDoc string
+pkg compile, type Package struct, Files []*File
+pkg compile, type Package struct, GenPath string
+pkg compile, type Package struct, Name string
+pkg compile, type Package struct, Path string
+pkg compile, type TypeDef struct
+pkg compile, type TypeDef struct, BaseType *vdl.Type
+pkg compile, type TypeDef struct, Exported bool
+pkg compile, type TypeDef struct, FieldDoc []string
+pkg compile, type TypeDef struct, FieldDocSuffix []string
+pkg compile, type TypeDef struct, File *File
+pkg compile, type TypeDef struct, LabelDoc []string
+pkg compile, type TypeDef struct, LabelDocSuffix []string
+pkg compile, type TypeDef struct, Type *vdl.Type
+pkg compile, type TypeDef struct, embedded NamePos
+pkg compile, var BuiltInFile *File
+pkg compile, var BuiltInPackage *Package
+pkg compile, var FalseConst unknown-type
+pkg compile, var NilConst unknown-type
+pkg compile, var TrueConst unknown-type
diff --git a/lib/vdl/internal/vdltest/.api b/lib/vdl/internal/vdltest/.api
new file mode 100644
index 0000000..50c41ed
--- /dev/null
+++ b/lib/vdl/internal/vdltest/.api
@@ -0,0 +1,5 @@
+pkg vdltest, func ExpectFail(*testing.T, *vdlutil.Errors, string, ...string)
+pkg vdltest, func ExpectPass(*testing.T, *vdlutil.Errors, string)
+pkg vdltest, func ExpectResult(*testing.T, *vdlutil.Errors, string, ...string)
+pkg vdltest, func FakeBuildPackage(string, string, map[string]string) *build.Package
+pkg vdltest, func FakeOpenFiles(map[string]string) func([]string) (map[string]io.ReadCloser, error)
diff --git a/lib/vdl/opconst/.api b/lib/vdl/opconst/.api
new file mode 100644
index 0000000..8bff5b5
--- /dev/null
+++ b/lib/vdl/opconst/.api
@@ -0,0 +1,44 @@
+pkg opconst, const Add BinaryOp
+pkg opconst, const BitAnd BinaryOp
+pkg opconst, const BitNot UnaryOp
+pkg opconst, const BitOr BinaryOp
+pkg opconst, const BitXor BinaryOp
+pkg opconst, const Div BinaryOp
+pkg opconst, const EQ BinaryOp
+pkg opconst, const GE BinaryOp
+pkg opconst, const GT BinaryOp
+pkg opconst, const InvalidBinaryOp BinaryOp
+pkg opconst, const InvalidUnaryOp UnaryOp
+pkg opconst, const LE BinaryOp
+pkg opconst, const LT BinaryOp
+pkg opconst, const LeftShift BinaryOp
+pkg opconst, const LogicAnd BinaryOp
+pkg opconst, const LogicNot UnaryOp
+pkg opconst, const LogicOr BinaryOp
+pkg opconst, const Mod BinaryOp
+pkg opconst, const Mul BinaryOp
+pkg opconst, const NE BinaryOp
+pkg opconst, const Neg UnaryOp
+pkg opconst, const Pos UnaryOp
+pkg opconst, const RightShift BinaryOp
+pkg opconst, const Sub BinaryOp
+pkg opconst, func Boolean(bool) Const
+pkg opconst, func Complex(*big.Rat, *big.Rat) Const
+pkg opconst, func EvalBinary(BinaryOp, Const, Const) (Const, error)
+pkg opconst, func EvalUnary(UnaryOp, Const) (Const, error)
+pkg opconst, func FromValue(*vdl.Value) Const
+pkg opconst, func Integer(*big.Int) Const
+pkg opconst, func Rational(*big.Rat) Const
+pkg opconst, func String(string) Const
+pkg opconst, func ToBinaryOp(string) BinaryOp
+pkg opconst, func ToUnaryOp(string) UnaryOp
+pkg opconst, method (BinaryOp) String() string
+pkg opconst, method (Const) Convert(*vdl.Type) (Const, error)
+pkg opconst, method (Const) IsValid() bool
+pkg opconst, method (Const) String() string
+pkg opconst, method (Const) ToValue() (*vdl.Value, error)
+pkg opconst, method (Const) Type() *vdl.Type
+pkg opconst, method (UnaryOp) String() string
+pkg opconst, type BinaryOp uint
+pkg opconst, type Const struct
+pkg opconst, type UnaryOp uint
diff --git a/lib/vdl/parse/.api b/lib/vdl/parse/.api
new file mode 100644
index 0000000..d649b27
--- /dev/null
+++ b/lib/vdl/parse/.api
@@ -0,0 +1,193 @@
+pkg parse, func InferPackageName([]*File, *vdlutil.Errors) string
+pkg parse, func ParseConfig(string, io.Reader, Opts, *vdlutil.Errors) *Config
+pkg parse, func ParseExprs(string, *vdlutil.Errors) []ConstExpr
+pkg parse, func ParseFile(string, io.Reader, Opts, *vdlutil.Errors) *File
+pkg parse, func QuoteStripDoc(string) string
+pkg parse, method (*Config) AddImports(...string)
+pkg parse, method (*Config) HasImport(string) bool
+pkg parse, method (*ConstBinaryOp) Pos() Pos
+pkg parse, method (*ConstBinaryOp) String() string
+pkg parse, method (*ConstCompositeLit) Pos() Pos
+pkg parse, method (*ConstCompositeLit) String() string
+pkg parse, method (*ConstDef) String() string
+pkg parse, method (*ConstIndexed) Pos() Pos
+pkg parse, method (*ConstIndexed) String() string
+pkg parse, method (*ConstLit) Pos() Pos
+pkg parse, method (*ConstLit) String() string
+pkg parse, method (*ConstNamed) Pos() Pos
+pkg parse, method (*ConstNamed) String() string
+pkg parse, method (*ConstTypeConv) Pos() Pos
+pkg parse, method (*ConstTypeConv) String() string
+pkg parse, method (*ConstTypeObject) Pos() Pos
+pkg parse, method (*ConstTypeObject) String() string
+pkg parse, method (*ConstUnaryOp) Pos() Pos
+pkg parse, method (*ConstUnaryOp) String() string
+pkg parse, method (*ErrorDef) String() string
+pkg parse, method (*Field) String() string
+pkg parse, method (*File) String() string
+pkg parse, method (*Import) LocalName() string
+pkg parse, method (*Import) String() string
+pkg parse, method (*Interface) String() string
+pkg parse, method (*Method) String() string
+pkg parse, method (*NamePos) String() string
+pkg parse, method (*TypeArray) Kind() string
+pkg parse, method (*TypeArray) Pos() Pos
+pkg parse, method (*TypeArray) String() string
+pkg parse, method (*TypeDef) String() string
+pkg parse, method (*TypeEnum) Kind() string
+pkg parse, method (*TypeEnum) Pos() Pos
+pkg parse, method (*TypeEnum) String() string
+pkg parse, method (*TypeList) Kind() string
+pkg parse, method (*TypeList) Pos() Pos
+pkg parse, method (*TypeList) String() string
+pkg parse, method (*TypeMap) Kind() string
+pkg parse, method (*TypeMap) Pos() Pos
+pkg parse, method (*TypeMap) String() string
+pkg parse, method (*TypeNamed) Kind() string
+pkg parse, method (*TypeNamed) Pos() Pos
+pkg parse, method (*TypeNamed) String() string
+pkg parse, method (*TypeOptional) Kind() string
+pkg parse, method (*TypeOptional) Pos() Pos
+pkg parse, method (*TypeOptional) String() string
+pkg parse, method (*TypeSet) Kind() string
+pkg parse, method (*TypeSet) Pos() Pos
+pkg parse, method (*TypeSet) String() string
+pkg parse, method (*TypeStruct) Kind() string
+pkg parse, method (*TypeStruct) Pos() Pos
+pkg parse, method (*TypeStruct) String() string
+pkg parse, method (*TypeUnion) Kind() string
+pkg parse, method (*TypeUnion) Pos() Pos
+pkg parse, method (*TypeUnion) String() string
+pkg parse, method (LangFmt) Pos() Pos
+pkg parse, method (Pos) IsValid() bool
+pkg parse, method (Pos) String() string
+pkg parse, type BigImag big.Rat
+pkg parse, type Config struct
+pkg parse, type Config struct, Config ConstExpr
+pkg parse, type Config struct, ConfigDef NamePos
+pkg parse, type Config struct, ConstDefs []*ConstDef
+pkg parse, type Config struct, Doc string
+pkg parse, type Config struct, FileName string
+pkg parse, type Config struct, Imports []*Import
+pkg parse, type ConstBinaryOp struct
+pkg parse, type ConstBinaryOp struct, Lexpr ConstExpr
+pkg parse, type ConstBinaryOp struct, Op string
+pkg parse, type ConstBinaryOp struct, P Pos
+pkg parse, type ConstBinaryOp struct, Rexpr ConstExpr
+pkg parse, type ConstCompositeLit struct
+pkg parse, type ConstCompositeLit struct, KVList []KVLit
+pkg parse, type ConstCompositeLit struct, P Pos
+pkg parse, type ConstCompositeLit struct, Type Type
+pkg parse, type ConstDef struct
+pkg parse, type ConstDef struct, Expr ConstExpr
+pkg parse, type ConstDef struct, embedded NamePos
+pkg parse, type ConstExpr interface { Pos, String }
+pkg parse, type ConstExpr interface, Pos() Pos
+pkg parse, type ConstExpr interface, String() string
+pkg parse, type ConstIndexed struct
+pkg parse, type ConstIndexed struct, Expr *ConstNamed
+pkg parse, type ConstIndexed struct, IndexExpr ConstExpr
+pkg parse, type ConstIndexed struct, P Pos
+pkg parse, type ConstLit struct
+pkg parse, type ConstLit struct, Lit interface{}
+pkg parse, type ConstLit struct, P Pos
+pkg parse, type ConstNamed struct
+pkg parse, type ConstNamed struct, Name string
+pkg parse, type ConstNamed struct, P Pos
+pkg parse, type ConstTypeConv struct
+pkg parse, type ConstTypeConv struct, Expr ConstExpr
+pkg parse, type ConstTypeConv struct, P Pos
+pkg parse, type ConstTypeConv struct, Type Type
+pkg parse, type ConstTypeObject struct
+pkg parse, type ConstTypeObject struct, P Pos
+pkg parse, type ConstTypeObject struct, Type Type
+pkg parse, type ConstUnaryOp struct
+pkg parse, type ConstUnaryOp struct, Expr ConstExpr
+pkg parse, type ConstUnaryOp struct, Op string
+pkg parse, type ConstUnaryOp struct, P Pos
+pkg parse, type ErrorDef struct
+pkg parse, type ErrorDef struct, Actions []StringPos
+pkg parse, type ErrorDef struct, Formats []LangFmt
+pkg parse, type ErrorDef struct, Params []*Field
+pkg parse, type ErrorDef struct, embedded NamePos
+pkg parse, type Field struct
+pkg parse, type Field struct, Type Type
+pkg parse, type Field struct, embedded NamePos
+pkg parse, type File struct
+pkg parse, type File struct, BaseName string
+pkg parse, type File struct, ConstDefs []*ConstDef
+pkg parse, type File struct, Doc string
+pkg parse, type File struct, ErrorDefs []*ErrorDef
+pkg parse, type File struct, Imports []*Import
+pkg parse, type File struct, Interfaces []*Interface
+pkg parse, type File struct, PackageDef NamePos
+pkg parse, type File struct, TypeDefs []*TypeDef
+pkg parse, type Import struct
+pkg parse, type Import struct, Path string
+pkg parse, type Import struct, embedded NamePos
+pkg parse, type Interface struct
+pkg parse, type Interface struct, Embeds []*NamePos
+pkg parse, type Interface struct, Methods []*Method
+pkg parse, type Interface struct, embedded NamePos
+pkg parse, type KVLit struct
+pkg parse, type KVLit struct, Key ConstExpr
+pkg parse, type KVLit struct, Value ConstExpr
+pkg parse, type LangFmt struct
+pkg parse, type LangFmt struct, Fmt StringPos
+pkg parse, type LangFmt struct, Lang StringPos
+pkg parse, type Method struct
+pkg parse, type Method struct, InArgs []*Field
+pkg parse, type Method struct, InStream Type
+pkg parse, type Method struct, OutArgs []*Field
+pkg parse, type Method struct, OutStream Type
+pkg parse, type Method struct, Tags []ConstExpr
+pkg parse, type Method struct, embedded NamePos
+pkg parse, type NamePos struct
+pkg parse, type NamePos struct, Doc string
+pkg parse, type NamePos struct, DocSuffix string
+pkg parse, type NamePos struct, Name string
+pkg parse, type NamePos struct, Pos Pos
+pkg parse, type Opts struct
+pkg parse, type Opts struct, ImportsOnly bool
+pkg parse, type Pos struct
+pkg parse, type Pos struct, Col int
+pkg parse, type Pos struct, Line int
+pkg parse, type StringPos struct
+pkg parse, type StringPos struct, Pos Pos
+pkg parse, type StringPos struct, String string
+pkg parse, type Type interface { Kind, Pos, String }
+pkg parse, type Type interface, Kind() string
+pkg parse, type Type interface, Pos() Pos
+pkg parse, type Type interface, String() string
+pkg parse, type TypeArray struct
+pkg parse, type TypeArray struct, Elem Type
+pkg parse, type TypeArray struct, Len int
+pkg parse, type TypeArray struct, P Pos
+pkg parse, type TypeDef struct
+pkg parse, type TypeDef struct, Type Type
+pkg parse, type TypeDef struct, embedded NamePos
+pkg parse, type TypeEnum struct
+pkg parse, type TypeEnum struct, Labels []NamePos
+pkg parse, type TypeEnum struct, P Pos
+pkg parse, type TypeList struct
+pkg parse, type TypeList struct, Elem Type
+pkg parse, type TypeList struct, P Pos
+pkg parse, type TypeMap struct
+pkg parse, type TypeMap struct, Elem Type
+pkg parse, type TypeMap struct, Key Type
+pkg parse, type TypeMap struct, P Pos
+pkg parse, type TypeNamed struct
+pkg parse, type TypeNamed struct, Name string
+pkg parse, type TypeNamed struct, P Pos
+pkg parse, type TypeOptional struct
+pkg parse, type TypeOptional struct, Base Type
+pkg parse, type TypeOptional struct, P Pos
+pkg parse, type TypeSet struct
+pkg parse, type TypeSet struct, Key Type
+pkg parse, type TypeSet struct, P Pos
+pkg parse, type TypeStruct struct
+pkg parse, type TypeStruct struct, Fields []*Field
+pkg parse, type TypeStruct struct, P Pos
+pkg parse, type TypeUnion struct
+pkg parse, type TypeUnion struct, Fields []*Field
+pkg parse, type TypeUnion struct, P Pos
diff --git a/lib/vdl/testdata/arith/.api b/lib/vdl/testdata/arith/.api
new file mode 100644
index 0000000..9622783
--- /dev/null
+++ b/lib/vdl/testdata/arith/.api
@@ -0,0 +1,182 @@
+pkg arith, const FloatConst float64
+pkg arith, const Hello ideal-string
+pkg arith, const Int32Const int32
+pkg arith, const Int64Const int64
+pkg arith, const Mask uint64
+pkg arith, const No bool
+pkg arith, const Yes bool
+pkg arith, func AdvancedMathClient(string) AdvancedMathClientStub
+pkg arith, func AdvancedMathServer(AdvancedMathServerMethods) AdvancedMathServerStub
+pkg arith, func ArithClient(string) ArithClientStub
+pkg arith, func ArithServer(ArithServerMethods) ArithServerStub
+pkg arith, func CalculatorClient(string) CalculatorClientStub
+pkg arith, func CalculatorServer(CalculatorServerMethods) CalculatorServerStub
+pkg arith, func TrigonometryClient(string) TrigonometryClientStub
+pkg arith, func TrigonometryServer(TrigonometryServerMethods) TrigonometryServerStub
+pkg arith, method (*ArithCountServerCallStub) Init(rpc.StreamServerCall)
+pkg arith, method (*ArithCountServerCallStub) SendStream() interface {  Send(item int32) error;}
+pkg arith, method (*ArithStreamingAddServerCallStub) Init(rpc.StreamServerCall)
+pkg arith, method (*ArithStreamingAddServerCallStub) RecvStream() interface {  Advance() bool; Value() int32; Err() error;}
+pkg arith, method (*ArithStreamingAddServerCallStub) SendStream() interface {  Send(item int32) error;}
+pkg arith, type AdvancedMathClientMethods interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type AdvancedMathClientMethods interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type AdvancedMathClientMethods interface, unexported methods
+pkg arith, type AdvancedMathClientStub interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type AdvancedMathClientStub interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type AdvancedMathClientStub interface, unexported methods
+pkg arith, type AdvancedMathServerMethods interface, Cosine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type AdvancedMathServerMethods interface, Sine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type AdvancedMathServerMethods interface, unexported methods
+pkg arith, type AdvancedMathServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg arith, type AdvancedMathServerStub interface, unexported methods
+pkg arith, type AdvancedMathServerStubMethods AdvancedMathServerMethods
+pkg arith, type ArithClientMethods interface { Add, Count, DivMod, GenError, Mul, QuoteAny, StreamingAdd, Sub }
+pkg arith, type ArithClientMethods interface, Add(*context.T, int32, int32, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientMethods interface, Count(*context.T, int32, ...rpc.CallOpt) (ArithCountClientCall, error)
+pkg arith, type ArithClientMethods interface, DivMod(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg arith, type ArithClientMethods interface, GenError(*context.T, ...rpc.CallOpt) error
+pkg arith, type ArithClientMethods interface, Mul(*context.T, base.NestedArgs, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientMethods interface, QuoteAny(*context.T, *vdl.Value, ...rpc.CallOpt) (*vdl.Value, error)
+pkg arith, type ArithClientMethods interface, StreamingAdd(*context.T, ...rpc.CallOpt) (ArithStreamingAddClientCall, error)
+pkg arith, type ArithClientMethods interface, Sub(*context.T, base.Args, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientStub interface, Add(*context.T, int32, int32, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientStub interface, Count(*context.T, int32, ...rpc.CallOpt) (ArithCountClientCall, error)
+pkg arith, type ArithClientStub interface, DivMod(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg arith, type ArithClientStub interface, GenError(*context.T, ...rpc.CallOpt) error
+pkg arith, type ArithClientStub interface, Mul(*context.T, base.NestedArgs, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientStub interface, QuoteAny(*context.T, *vdl.Value, ...rpc.CallOpt) (*vdl.Value, error)
+pkg arith, type ArithClientStub interface, StreamingAdd(*context.T, ...rpc.CallOpt) (ArithStreamingAddClientCall, error)
+pkg arith, type ArithClientStub interface, Sub(*context.T, base.Args, ...rpc.CallOpt) (int32, error)
+pkg arith, type ArithClientStub interface, unexported methods
+pkg arith, type ArithCountClientCall interface { Finish, RecvStream }
+pkg arith, type ArithCountClientCall interface, Finish() error
+pkg arith, type ArithCountClientCall interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithCountClientStream interface { RecvStream }
+pkg arith, type ArithCountClientStream interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithCountServerCall interface, SendStream() interface {  Send(item int32) error;}
+pkg arith, type ArithCountServerCall interface, unexported methods
+pkg arith, type ArithCountServerCallStub struct
+pkg arith, type ArithCountServerCallStub struct, embedded rpc.StreamServerCall
+pkg arith, type ArithCountServerStream interface { SendStream }
+pkg arith, type ArithCountServerStream interface, SendStream() interface {  Send(item int32) error;}
+pkg arith, type ArithServerMethods interface { Add, Count, DivMod, GenError, Mul, QuoteAny, StreamingAdd, Sub }
+pkg arith, type ArithServerMethods interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type ArithServerMethods interface, Count(*context.T, ArithCountServerCall, int32) error
+pkg arith, type ArithServerMethods interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type ArithServerMethods interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type ArithServerMethods interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type ArithServerMethods interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type ArithServerMethods interface, StreamingAdd(*context.T, ArithStreamingAddServerCall) (int32, error)
+pkg arith, type ArithServerMethods interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type ArithServerStub interface { Add, Count, Describe__, DivMod, GenError, Mul, QuoteAny, StreamingAdd, Sub }
+pkg arith, type ArithServerStub interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type ArithServerStub interface, Count(*context.T, *ArithCountServerCallStub, int32) error
+pkg arith, type ArithServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg arith, type ArithServerStub interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type ArithServerStub interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type ArithServerStub interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type ArithServerStub interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type ArithServerStub interface, StreamingAdd(*context.T, *ArithStreamingAddServerCallStub) (int32, error)
+pkg arith, type ArithServerStub interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type ArithServerStubMethods interface { Add, Count, DivMod, GenError, Mul, QuoteAny, StreamingAdd, Sub }
+pkg arith, type ArithServerStubMethods interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type ArithServerStubMethods interface, Count(*context.T, *ArithCountServerCallStub, int32) error
+pkg arith, type ArithServerStubMethods interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type ArithServerStubMethods interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type ArithServerStubMethods interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type ArithServerStubMethods interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type ArithServerStubMethods interface, StreamingAdd(*context.T, *ArithStreamingAddServerCallStub) (int32, error)
+pkg arith, type ArithServerStubMethods interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type ArithStreamingAddClientCall interface { Finish, RecvStream, SendStream }
+pkg arith, type ArithStreamingAddClientCall interface, Finish() (int32, error)
+pkg arith, type ArithStreamingAddClientCall interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithStreamingAddClientCall interface, SendStream() interface {  Send(item int32) error;; Close() error;}
+pkg arith, type ArithStreamingAddClientStream interface { RecvStream, SendStream }
+pkg arith, type ArithStreamingAddClientStream interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithStreamingAddClientStream interface, SendStream() interface {  Send(item int32) error;; Close() error;}
+pkg arith, type ArithStreamingAddServerCall interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithStreamingAddServerCall interface, SendStream() interface {  Send(item int32) error;}
+pkg arith, type ArithStreamingAddServerCall interface, unexported methods
+pkg arith, type ArithStreamingAddServerCallStub struct
+pkg arith, type ArithStreamingAddServerCallStub struct, embedded rpc.StreamServerCall
+pkg arith, type ArithStreamingAddServerStream interface { RecvStream, SendStream }
+pkg arith, type ArithStreamingAddServerStream interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg arith, type ArithStreamingAddServerStream interface, SendStream() interface {  Send(item int32) error;}
+pkg arith, type CalculatorClientMethods interface, Add(*context.T, int32, int32, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientMethods interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type CalculatorClientMethods interface, Count(*context.T, int32, ...rpc.CallOpt) (ArithCountClientCall, error)
+pkg arith, type CalculatorClientMethods interface, DivMod(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg arith, type CalculatorClientMethods interface, GenError(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientMethods interface, Mul(*context.T, base.NestedArgs, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientMethods interface, Off(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientMethods interface, On(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientMethods interface, QuoteAny(*context.T, *vdl.Value, ...rpc.CallOpt) (*vdl.Value, error)
+pkg arith, type CalculatorClientMethods interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type CalculatorClientMethods interface, StreamingAdd(*context.T, ...rpc.CallOpt) (ArithStreamingAddClientCall, error)
+pkg arith, type CalculatorClientMethods interface, Sub(*context.T, base.Args, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientMethods interface, unexported methods
+pkg arith, type CalculatorClientStub interface, Add(*context.T, int32, int32, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientStub interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type CalculatorClientStub interface, Count(*context.T, int32, ...rpc.CallOpt) (ArithCountClientCall, error)
+pkg arith, type CalculatorClientStub interface, DivMod(*context.T, int32, int32, ...rpc.CallOpt) (int32, int32, error)
+pkg arith, type CalculatorClientStub interface, GenError(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientStub interface, Mul(*context.T, base.NestedArgs, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientStub interface, Off(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientStub interface, On(*context.T, ...rpc.CallOpt) error
+pkg arith, type CalculatorClientStub interface, QuoteAny(*context.T, *vdl.Value, ...rpc.CallOpt) (*vdl.Value, error)
+pkg arith, type CalculatorClientStub interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type CalculatorClientStub interface, StreamingAdd(*context.T, ...rpc.CallOpt) (ArithStreamingAddClientCall, error)
+pkg arith, type CalculatorClientStub interface, Sub(*context.T, base.Args, ...rpc.CallOpt) (int32, error)
+pkg arith, type CalculatorClientStub interface, unexported methods
+pkg arith, type CalculatorServerMethods interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type CalculatorServerMethods interface, Cosine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type CalculatorServerMethods interface, Count(*context.T, ArithCountServerCall, int32) error
+pkg arith, type CalculatorServerMethods interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type CalculatorServerMethods interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerMethods interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type CalculatorServerMethods interface, Off(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerMethods interface, On(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerMethods interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type CalculatorServerMethods interface, Sine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type CalculatorServerMethods interface, StreamingAdd(*context.T, ArithStreamingAddServerCall) (int32, error)
+pkg arith, type CalculatorServerMethods interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type CalculatorServerMethods interface, unexported methods
+pkg arith, type CalculatorServerStub interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type CalculatorServerStub interface, Count(*context.T, *ArithCountServerCallStub, int32) error
+pkg arith, type CalculatorServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg arith, type CalculatorServerStub interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type CalculatorServerStub interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStub interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type CalculatorServerStub interface, Off(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStub interface, On(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStub interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type CalculatorServerStub interface, StreamingAdd(*context.T, *ArithStreamingAddServerCallStub) (int32, error)
+pkg arith, type CalculatorServerStub interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type CalculatorServerStub interface, unexported methods
+pkg arith, type CalculatorServerStubMethods interface, Add(*context.T, rpc.ServerCall, int32, int32) (int32, error)
+pkg arith, type CalculatorServerStubMethods interface, Count(*context.T, *ArithCountServerCallStub, int32) error
+pkg arith, type CalculatorServerStubMethods interface, DivMod(*context.T, rpc.ServerCall, int32, int32) (int32, int32, error)
+pkg arith, type CalculatorServerStubMethods interface, GenError(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStubMethods interface, Mul(*context.T, rpc.ServerCall, base.NestedArgs) (int32, error)
+pkg arith, type CalculatorServerStubMethods interface, Off(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStubMethods interface, On(*context.T, rpc.ServerCall) error
+pkg arith, type CalculatorServerStubMethods interface, QuoteAny(*context.T, rpc.ServerCall, *vdl.Value) (*vdl.Value, error)
+pkg arith, type CalculatorServerStubMethods interface, StreamingAdd(*context.T, *ArithStreamingAddServerCallStub) (int32, error)
+pkg arith, type CalculatorServerStubMethods interface, Sub(*context.T, rpc.ServerCall, base.Args) (int32, error)
+pkg arith, type CalculatorServerStubMethods interface, unexported methods
+pkg arith, type TrigonometryClientMethods interface { Cosine, Sine }
+pkg arith, type TrigonometryClientMethods interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type TrigonometryClientMethods interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type TrigonometryClientStub interface, Cosine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type TrigonometryClientStub interface, Sine(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg arith, type TrigonometryClientStub interface, unexported methods
+pkg arith, type TrigonometryServerMethods interface { Cosine, Sine }
+pkg arith, type TrigonometryServerMethods interface, Cosine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type TrigonometryServerMethods interface, Sine(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg arith, type TrigonometryServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg arith, type TrigonometryServerStub interface, unexported methods
+pkg arith, type TrigonometryServerStubMethods TrigonometryServerMethods
+pkg arith, var AdvancedMathDesc rpc.InterfaceDesc
+pkg arith, var ArithDesc rpc.InterfaceDesc
+pkg arith, var CalculatorDesc rpc.InterfaceDesc
+pkg arith, var TrigonometryDesc rpc.InterfaceDesc
diff --git a/lib/vdl/testdata/arith/exp/.api b/lib/vdl/testdata/arith/exp/.api
new file mode 100644
index 0000000..80ad9cb
--- /dev/null
+++ b/lib/vdl/testdata/arith/exp/.api
@@ -0,0 +1,12 @@
+pkg exp, func ExpClient(string) ExpClientStub
+pkg exp, func ExpServer(ExpServerMethods) ExpServerStub
+pkg exp, type ExpClientMethods interface { Exp }
+pkg exp, type ExpClientMethods interface, Exp(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg exp, type ExpClientStub interface, Exp(*context.T, float64, ...rpc.CallOpt) (float64, error)
+pkg exp, type ExpClientStub interface, unexported methods
+pkg exp, type ExpServerMethods interface { Exp }
+pkg exp, type ExpServerMethods interface, Exp(*context.T, rpc.ServerCall, float64) (float64, error)
+pkg exp, type ExpServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg exp, type ExpServerStub interface, unexported methods
+pkg exp, type ExpServerStubMethods ExpServerMethods
+pkg exp, var ExpDesc rpc.InterfaceDesc
diff --git a/lib/vdl/testdata/base/.api b/lib/vdl/testdata/base/.api
new file mode 100644
index 0000000..5d9efd4
--- /dev/null
+++ b/lib/vdl/testdata/base/.api
@@ -0,0 +1,272 @@
+pkg base, const CNamedBool NamedBool
+pkg base, const Cbool bool
+pkg base, const Cbyte byte
+pkg base, const Ccomplex128 complex128
+pkg base, const Ccomplex64 complex64
+pkg base, const Cenum NamedEnum
+pkg base, const Cfloat32 float32
+pkg base, const Cfloat64 float64
+pkg base, const Cint32 int32
+pkg base, const Cint64 int64
+pkg base, const Cstring ideal-string
+pkg base, const Cuint32 uint32
+pkg base, const Cuint64 uint64
+pkg base, const Five int32
+pkg base, const FiveSquared int32
+pkg base, const Foo ideal-string
+pkg base, const NamedEnumA NamedEnum
+pkg base, const NamedEnumB NamedEnum
+pkg base, const NamedEnumC NamedEnum
+pkg base, const Six uint64
+pkg base, const SixSquared uint64
+pkg base, const True bool
+pkg base, func NamedEnumFromString(string) (NamedEnum, error)
+pkg base, func NewErrNoParams1(*context.T) error
+pkg base, func NewErrNoParams2(*context.T) error
+pkg base, func NewErrWithParams1(*context.T, string, int32) error
+pkg base, func NewErrWithParams2(*context.T, string, int32) error
+pkg base, func ServiceAClient(string) ServiceAClientStub
+pkg base, func ServiceAServer(ServiceAServerMethods) ServiceAServerStub
+pkg base, func ServiceBClient(string) ServiceBClientStub
+pkg base, func ServiceBServer(ServiceBServerMethods) ServiceBServerStub
+pkg base, method (*NamedEnum) Set(string) error
+pkg base, method (*ServiceAMethodA3ServerCallStub) Init(rpc.StreamServerCall)
+pkg base, method (*ServiceAMethodA3ServerCallStub) SendStream() interface {  Send(item Scalars) error;}
+pkg base, method (*ServiceAMethodA4ServerCallStub) Init(rpc.StreamServerCall)
+pkg base, method (*ServiceAMethodA4ServerCallStub) RecvStream() interface {  Advance() bool; Value() int32; Err() error;}
+pkg base, method (*ServiceAMethodA4ServerCallStub) SendStream() interface {  Send(item string) error;}
+pkg base, method (NamedEnum) String() string
+pkg base, method (NamedUnionA) Index() int
+pkg base, method (NamedUnionA) Interface() interface{}
+pkg base, method (NamedUnionA) Name() string
+pkg base, method (NamedUnionB) Index() int
+pkg base, method (NamedUnionB) Interface() interface{}
+pkg base, method (NamedUnionB) Name() string
+pkg base, method (NamedUnionC) Index() int
+pkg base, method (NamedUnionC) Interface() interface{}
+pkg base, method (NamedUnionC) Name() string
+pkg base, type Args struct
+pkg base, type Args struct, A int32
+pkg base, type Args struct, B int32
+pkg base, type CompComp struct
+pkg base, type CompComp struct, A0 Composites
+pkg base, type CompComp struct, A1 CompositesArray
+pkg base, type CompComp struct, A2 []Composites
+pkg base, type CompComp struct, A3 map[string]Composites
+pkg base, type CompComp struct, A4 map[KeyScalars][]map[string]Composites
+pkg base, type Composites struct
+pkg base, type Composites struct, A0 Scalars
+pkg base, type Composites struct, A1 ScalarsArray
+pkg base, type Composites struct, A2 []Scalars
+pkg base, type Composites struct, A3 map[KeyScalars]struct{}
+pkg base, type Composites struct, A4 map[string]Scalars
+pkg base, type Composites struct, A5 map[KeyScalars][]map[string]complex128
+pkg base, type CompositesArray [2]Composites
+pkg base, type KeyScalars struct
+pkg base, type KeyScalars struct, A0 bool
+pkg base, type KeyScalars struct, A1 byte
+pkg base, type KeyScalars struct, A10 complex64
+pkg base, type KeyScalars struct, A11 complex128
+pkg base, type KeyScalars struct, A12 string
+pkg base, type KeyScalars struct, A2 uint16
+pkg base, type KeyScalars struct, A3 uint32
+pkg base, type KeyScalars struct, A4 uint64
+pkg base, type KeyScalars struct, A5 int16
+pkg base, type KeyScalars struct, A6 int32
+pkg base, type KeyScalars struct, A7 int64
+pkg base, type KeyScalars struct, A8 float32
+pkg base, type KeyScalars struct, A9 float64
+pkg base, type KeyScalars struct, B0 NamedBool
+pkg base, type KeyScalars struct, B1 NamedByte
+pkg base, type KeyScalars struct, B10 NamedComplex64
+pkg base, type KeyScalars struct, B11 NamedComplex128
+pkg base, type KeyScalars struct, B12 NamedString
+pkg base, type KeyScalars struct, B2 NamedUint16
+pkg base, type KeyScalars struct, B3 NamedUint32
+pkg base, type KeyScalars struct, B4 NamedUint64
+pkg base, type KeyScalars struct, B5 NamedInt16
+pkg base, type KeyScalars struct, B6 NamedInt32
+pkg base, type KeyScalars struct, B7 NamedInt64
+pkg base, type KeyScalars struct, B8 NamedFloat32
+pkg base, type KeyScalars struct, B9 NamedFloat64
+pkg base, type NamedArray [2]bool
+pkg base, type NamedBool bool
+pkg base, type NamedByte byte
+pkg base, type NamedComplex128 complex128
+pkg base, type NamedComplex64 complex64
+pkg base, type NamedEnum int
+pkg base, type NamedFloat32 float32
+pkg base, type NamedFloat64 float64
+pkg base, type NamedInt16 int16
+pkg base, type NamedInt32 int32
+pkg base, type NamedInt64 int64
+pkg base, type NamedList []uint32
+pkg base, type NamedMap map[string]float32
+pkg base, type NamedSet map[string]struct{}
+pkg base, type NamedString string
+pkg base, type NamedStruct struct
+pkg base, type NamedStruct struct, A bool
+pkg base, type NamedStruct struct, B string
+pkg base, type NamedStruct struct, C int32
+pkg base, type NamedUint16 uint16
+pkg base, type NamedUint32 uint32
+pkg base, type NamedUint64 uint64
+pkg base, type NamedUnion interface, Index() int
+pkg base, type NamedUnion interface, Interface() interface{}
+pkg base, type NamedUnion interface, Name() string
+pkg base, type NamedUnion interface, unexported methods
+pkg base, type NamedUnionA struct
+pkg base, type NamedUnionA struct, Value bool
+pkg base, type NamedUnionB struct
+pkg base, type NamedUnionB struct, Value string
+pkg base, type NamedUnionC struct
+pkg base, type NamedUnionC struct, Value int32
+pkg base, type NestedArgs struct
+pkg base, type NestedArgs struct, Args Args
+pkg base, type Scalars struct
+pkg base, type Scalars struct, A0 bool
+pkg base, type Scalars struct, A1 byte
+pkg base, type Scalars struct, A10 complex64
+pkg base, type Scalars struct, A11 complex128
+pkg base, type Scalars struct, A12 string
+pkg base, type Scalars struct, A13 error
+pkg base, type Scalars struct, A14 *vdl.Value
+pkg base, type Scalars struct, A15 *vdl.Type
+pkg base, type Scalars struct, A2 uint16
+pkg base, type Scalars struct, A3 uint32
+pkg base, type Scalars struct, A4 uint64
+pkg base, type Scalars struct, A5 int16
+pkg base, type Scalars struct, A6 int32
+pkg base, type Scalars struct, A7 int64
+pkg base, type Scalars struct, A8 float32
+pkg base, type Scalars struct, A9 float64
+pkg base, type Scalars struct, B0 NamedBool
+pkg base, type Scalars struct, B1 NamedByte
+pkg base, type Scalars struct, B10 NamedComplex64
+pkg base, type Scalars struct, B11 NamedComplex128
+pkg base, type Scalars struct, B12 NamedString
+pkg base, type Scalars struct, B13 NamedEnum
+pkg base, type Scalars struct, B14 NamedUnion
+pkg base, type Scalars struct, B2 NamedUint16
+pkg base, type Scalars struct, B3 NamedUint32
+pkg base, type Scalars struct, B4 NamedUint64
+pkg base, type Scalars struct, B5 NamedInt16
+pkg base, type Scalars struct, B6 NamedInt32
+pkg base, type Scalars struct, B7 NamedInt64
+pkg base, type Scalars struct, B8 NamedFloat32
+pkg base, type Scalars struct, B9 NamedFloat64
+pkg base, type ScalarsArray [2]Scalars
+pkg base, type ServiceAClientMethods interface { MethodA1, MethodA2, MethodA3, MethodA4 }
+pkg base, type ServiceAClientMethods interface, MethodA1(*context.T, ...rpc.CallOpt) error
+pkg base, type ServiceAClientMethods interface, MethodA2(*context.T, int32, string, ...rpc.CallOpt) (string, error)
+pkg base, type ServiceAClientMethods interface, MethodA3(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA3ClientCall, error)
+pkg base, type ServiceAClientMethods interface, MethodA4(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA4ClientCall, error)
+pkg base, type ServiceAClientStub interface, MethodA1(*context.T, ...rpc.CallOpt) error
+pkg base, type ServiceAClientStub interface, MethodA2(*context.T, int32, string, ...rpc.CallOpt) (string, error)
+pkg base, type ServiceAClientStub interface, MethodA3(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA3ClientCall, error)
+pkg base, type ServiceAClientStub interface, MethodA4(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA4ClientCall, error)
+pkg base, type ServiceAClientStub interface, unexported methods
+pkg base, type ServiceAMethodA3ClientCall interface { Finish, RecvStream }
+pkg base, type ServiceAMethodA3ClientCall interface, Finish() (string, error)
+pkg base, type ServiceAMethodA3ClientCall interface, RecvStream() interface {  Advance() bool;; Value() Scalars;; Err() error;}
+pkg base, type ServiceAMethodA3ClientStream interface { RecvStream }
+pkg base, type ServiceAMethodA3ClientStream interface, RecvStream() interface {  Advance() bool;; Value() Scalars;; Err() error;}
+pkg base, type ServiceAMethodA3ServerCall interface, SendStream() interface {  Send(item Scalars) error;}
+pkg base, type ServiceAMethodA3ServerCall interface, unexported methods
+pkg base, type ServiceAMethodA3ServerCallStub struct
+pkg base, type ServiceAMethodA3ServerCallStub struct, embedded rpc.StreamServerCall
+pkg base, type ServiceAMethodA3ServerStream interface { SendStream }
+pkg base, type ServiceAMethodA3ServerStream interface, SendStream() interface {  Send(item Scalars) error;}
+pkg base, type ServiceAMethodA4ClientCall interface { Finish, RecvStream, SendStream }
+pkg base, type ServiceAMethodA4ClientCall interface, Finish() error
+pkg base, type ServiceAMethodA4ClientCall interface, RecvStream() interface {  Advance() bool;; Value() string;; Err() error;}
+pkg base, type ServiceAMethodA4ClientCall interface, SendStream() interface {  Send(item int32) error;; Close() error;}
+pkg base, type ServiceAMethodA4ClientStream interface { RecvStream, SendStream }
+pkg base, type ServiceAMethodA4ClientStream interface, RecvStream() interface {  Advance() bool;; Value() string;; Err() error;}
+pkg base, type ServiceAMethodA4ClientStream interface, SendStream() interface {  Send(item int32) error;; Close() error;}
+pkg base, type ServiceAMethodA4ServerCall interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg base, type ServiceAMethodA4ServerCall interface, SendStream() interface {  Send(item string) error;}
+pkg base, type ServiceAMethodA4ServerCall interface, unexported methods
+pkg base, type ServiceAMethodA4ServerCallStub struct
+pkg base, type ServiceAMethodA4ServerCallStub struct, embedded rpc.StreamServerCall
+pkg base, type ServiceAMethodA4ServerStream interface { RecvStream, SendStream }
+pkg base, type ServiceAMethodA4ServerStream interface, RecvStream() interface {  Advance() bool;; Value() int32;; Err() error;}
+pkg base, type ServiceAMethodA4ServerStream interface, SendStream() interface {  Send(item string) error;}
+pkg base, type ServiceAServerMethods interface { MethodA1, MethodA2, MethodA3, MethodA4 }
+pkg base, type ServiceAServerMethods interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceAServerMethods interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceAServerMethods interface, MethodA3(*context.T, ServiceAMethodA3ServerCall, int32) (string, error)
+pkg base, type ServiceAServerMethods interface, MethodA4(*context.T, ServiceAMethodA4ServerCall, int32) error
+pkg base, type ServiceAServerStub interface { Describe__, MethodA1, MethodA2, MethodA3, MethodA4 }
+pkg base, type ServiceAServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg base, type ServiceAServerStub interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceAServerStub interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceAServerStub interface, MethodA3(*context.T, *ServiceAMethodA3ServerCallStub, int32) (string, error)
+pkg base, type ServiceAServerStub interface, MethodA4(*context.T, *ServiceAMethodA4ServerCallStub, int32) error
+pkg base, type ServiceAServerStubMethods interface { MethodA1, MethodA2, MethodA3, MethodA4 }
+pkg base, type ServiceAServerStubMethods interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceAServerStubMethods interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceAServerStubMethods interface, MethodA3(*context.T, *ServiceAMethodA3ServerCallStub, int32) (string, error)
+pkg base, type ServiceAServerStubMethods interface, MethodA4(*context.T, *ServiceAMethodA4ServerCallStub, int32) error
+pkg base, type ServiceBClientMethods interface { MethodA1, MethodA2, MethodA3, MethodA4, MethodB1 }
+pkg base, type ServiceBClientMethods interface, MethodA1(*context.T, ...rpc.CallOpt) error
+pkg base, type ServiceBClientMethods interface, MethodA2(*context.T, int32, string, ...rpc.CallOpt) (string, error)
+pkg base, type ServiceBClientMethods interface, MethodA3(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA3ClientCall, error)
+pkg base, type ServiceBClientMethods interface, MethodA4(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA4ClientCall, error)
+pkg base, type ServiceBClientMethods interface, MethodB1(*context.T, Scalars, Composites, ...rpc.CallOpt) (CompComp, error)
+pkg base, type ServiceBClientStub interface, MethodA1(*context.T, ...rpc.CallOpt) error
+pkg base, type ServiceBClientStub interface, MethodA2(*context.T, int32, string, ...rpc.CallOpt) (string, error)
+pkg base, type ServiceBClientStub interface, MethodA3(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA3ClientCall, error)
+pkg base, type ServiceBClientStub interface, MethodA4(*context.T, int32, ...rpc.CallOpt) (ServiceAMethodA4ClientCall, error)
+pkg base, type ServiceBClientStub interface, MethodB1(*context.T, Scalars, Composites, ...rpc.CallOpt) (CompComp, error)
+pkg base, type ServiceBClientStub interface, unexported methods
+pkg base, type ServiceBServerMethods interface { MethodA1, MethodA2, MethodA3, MethodA4, MethodB1 }
+pkg base, type ServiceBServerMethods interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceBServerMethods interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceBServerMethods interface, MethodA3(*context.T, ServiceAMethodA3ServerCall, int32) (string, error)
+pkg base, type ServiceBServerMethods interface, MethodA4(*context.T, ServiceAMethodA4ServerCall, int32) error
+pkg base, type ServiceBServerMethods interface, MethodB1(*context.T, rpc.ServerCall, Scalars, Composites) (CompComp, error)
+pkg base, type ServiceBServerStub interface { Describe__, MethodA1, MethodA2, MethodA3, MethodA4, MethodB1 }
+pkg base, type ServiceBServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg base, type ServiceBServerStub interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceBServerStub interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceBServerStub interface, MethodA3(*context.T, *ServiceAMethodA3ServerCallStub, int32) (string, error)
+pkg base, type ServiceBServerStub interface, MethodA4(*context.T, *ServiceAMethodA4ServerCallStub, int32) error
+pkg base, type ServiceBServerStub interface, MethodB1(*context.T, rpc.ServerCall, Scalars, Composites) (CompComp, error)
+pkg base, type ServiceBServerStubMethods interface { MethodA1, MethodA2, MethodA3, MethodA4, MethodB1 }
+pkg base, type ServiceBServerStubMethods interface, MethodA1(*context.T, rpc.ServerCall) error
+pkg base, type ServiceBServerStubMethods interface, MethodA2(*context.T, rpc.ServerCall, int32, string) (string, error)
+pkg base, type ServiceBServerStubMethods interface, MethodA3(*context.T, *ServiceAMethodA3ServerCallStub, int32) (string, error)
+pkg base, type ServiceBServerStubMethods interface, MethodA4(*context.T, *ServiceAMethodA4ServerCallStub, int32) error
+pkg base, type ServiceBServerStubMethods interface, MethodB1(*context.T, rpc.ServerCall, Scalars, Composites) (CompComp, error)
+pkg base, var CNamedStruct NamedStruct
+pkg base, var CScalars Scalars
+pkg base, var CTypeObject_Any unknown-type
+pkg base, var CTypeObject_Array unknown-type
+pkg base, var CTypeObject_List unknown-type
+pkg base, var CTypeObject_Map unknown-type
+pkg base, var CTypeObject_Set unknown-type
+pkg base, var CTypeObject_Struct unknown-type
+pkg base, var CTypeObject_TypeObject unknown-type
+pkg base, var CTypeObject_Union unknown-type
+pkg base, var CTypeObject_bool unknown-type
+pkg base, var CTypeObject_byte unknown-type
+pkg base, var CTypeObject_bytes unknown-type
+pkg base, var CTypeObject_complex64 unknown-type
+pkg base, var CTypeObject_enum unknown-type
+pkg base, var CTypeObject_float32 unknown-type
+pkg base, var CTypeObject_int16 unknown-type
+pkg base, var CTypeObject_string unknown-type
+pkg base, var CTypeObject_uint16 unknown-type
+pkg base, var Cargs Args
+pkg base, var Carray NamedArray
+pkg base, var Clist []int32
+pkg base, var Cset map[int32]struct{}
+pkg base, var Cunion unknown-type
+pkg base, var ErrNoParams1 unknown-type
+pkg base, var ErrNoParams2 unknown-type
+pkg base, var ErrWithParams1 unknown-type
+pkg base, var ErrWithParams2 unknown-type
+pkg base, var NamedEnumAll [...]NamedEnum
+pkg base, var ServiceADesc rpc.InterfaceDesc
+pkg base, var ServiceBDesc rpc.InterfaceDesc
diff --git a/lib/vdl/testdata/nativedep/.api b/lib/vdl/testdata/nativedep/.api
new file mode 100644
index 0000000..ae0ecf6
--- /dev/null
+++ b/lib/vdl/testdata/nativedep/.api
@@ -0,0 +1,6 @@
+pkg nativedep, type All struct
+pkg nativedep, type All struct, A string
+pkg nativedep, type All struct, B map[string]int
+pkg nativedep, type All struct, C time.Time
+pkg nativedep, type All struct, D nativetest.NativeSamePkg
+pkg nativedep, type All struct, E map[nativetest.NativeSamePkg]time.Time
diff --git a/lib/vdl/testdata/nativedep2/.api b/lib/vdl/testdata/nativedep2/.api
new file mode 100644
index 0000000..423cc2f
--- /dev/null
+++ b/lib/vdl/testdata/nativedep2/.api
@@ -0,0 +1 @@
+pkg nativedep2, type MyTime time.Time
diff --git a/lib/vdl/testdata/nativetest/.api b/lib/vdl/testdata/nativetest/.api
new file mode 100644
index 0000000..a80bef3
--- /dev/null
+++ b/lib/vdl/testdata/nativetest/.api
@@ -0,0 +1,12 @@
+pkg nativetest, type NativeSamePkg string
+pkg nativetest, type WireAll struct
+pkg nativetest, type WireAll struct, A string
+pkg nativetest, type WireAll struct, B map[string]int
+pkg nativetest, type WireAll struct, C time.Time
+pkg nativetest, type WireAll struct, D nativetest.NativeSamePkg
+pkg nativetest, type WireAll struct, E map[nativetest.NativeSamePkg]time.Time
+pkg nativetest, type WireMapStringInt int32
+pkg nativetest, type WireMultiImport int32
+pkg nativetest, type WireSamePkg int32
+pkg nativetest, type WireString int32
+pkg nativetest, type WireTime int32
diff --git a/lib/vdl/testdata/testconfig/.api b/lib/vdl/testdata/testconfig/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lib/vdl/testdata/testconfig/.api
diff --git a/lib/vdl/vdlutil/.api b/lib/vdl/vdlutil/.api
new file mode 100644
index 0000000..3e9c4c3
--- /dev/null
+++ b/lib/vdl/vdlutil/.api
@@ -0,0 +1,17 @@
+pkg vdlutil, func FirstRuneToExportCase(string, bool) string
+pkg vdlutil, func FirstRuneToLower(string) string
+pkg vdlutil, func FirstRuneToUpper(string) string
+pkg vdlutil, func NewErrors(int) *Errors
+pkg vdlutil, func SetVerbose()
+pkg vdlutil, func ToConstCase(string) string
+pkg vdlutil, method (*Errors) Error(string) bool
+pkg vdlutil, method (*Errors) Errorf(string, ...interface{}) bool
+pkg vdlutil, method (*Errors) IsEmpty() bool
+pkg vdlutil, method (*Errors) IsFull() bool
+pkg vdlutil, method (*Errors) NumErrors() int
+pkg vdlutil, method (*Errors) Reset()
+pkg vdlutil, method (*Errors) String() string
+pkg vdlutil, method (*Errors) ToError() error
+pkg vdlutil, type Errors struct
+pkg vdlutil, type Errors struct, MaxErrors int
+pkg vdlutil, var Vlog *log.Logger
diff --git a/profiles/.api b/profiles/.api
new file mode 100644
index 0000000..ade2080
--- /dev/null
+++ b/profiles/.api
@@ -0,0 +1,2 @@
+pkg profiles, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
+pkg profiles, func NewProxy(*context.T, string, string, string, ...string) (func(), naming.Endpoint, error)
diff --git a/profiles/chrome/.api b/profiles/chrome/.api
new file mode 100644
index 0000000..d88793b
--- /dev/null
+++ b/profiles/chrome/.api
@@ -0,0 +1 @@
+pkg chrome, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
diff --git a/profiles/fake/.api b/profiles/fake/.api
new file mode 100644
index 0000000..430311b
--- /dev/null
+++ b/profiles/fake/.api
@@ -0,0 +1,20 @@
+pkg fake, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
+pkg fake, func InjectRuntime(v23.Runtime, *context.T, v23.Shutdown)
+pkg fake, func SetClient(*context.T, rpc.Client) *context.T
+pkg fake, method (*Runtime) GetAppCycle(*context.T) v23.AppCycle
+pkg fake, method (*Runtime) GetBackgroundContext(*context.T) *context.T
+pkg fake, method (*Runtime) GetClient(*context.T) rpc.Client
+pkg fake, method (*Runtime) GetListenSpec(*context.T) rpc.ListenSpec
+pkg fake, method (*Runtime) GetNamespace(*context.T) namespace.T
+pkg fake, method (*Runtime) GetPrincipal(*context.T) security.Principal
+pkg fake, method (*Runtime) GetReservedNameDispatcher(*context.T) rpc.Dispatcher
+pkg fake, method (*Runtime) Init(*context.T) error
+pkg fake, method (*Runtime) NewEndpoint(string) (naming.Endpoint, error)
+pkg fake, method (*Runtime) NewServer(*context.T, ...rpc.ServerOpt) (rpc.Server, error)
+pkg fake, method (*Runtime) WithBackgroundContext(*context.T) *context.T
+pkg fake, method (*Runtime) WithNewClient(*context.T, ...rpc.ClientOpt) (*context.T, rpc.Client, error)
+pkg fake, method (*Runtime) WithNewNamespace(*context.T, ...string) (*context.T, namespace.T, error)
+pkg fake, method (*Runtime) WithNewStreamManager(*context.T) (*context.T, error)
+pkg fake, method (*Runtime) WithPrincipal(*context.T, security.Principal) (*context.T, error)
+pkg fake, method (*Runtime) WithReservedNameDispatcher(*context.T, rpc.Dispatcher) *context.T
+pkg fake, type Runtime struct
diff --git a/profiles/gce/.api b/profiles/gce/.api
new file mode 100644
index 0000000..7c93515
--- /dev/null
+++ b/profiles/gce/.api
@@ -0,0 +1 @@
+pkg gce, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
diff --git a/profiles/internal/.api b/profiles/internal/.api
new file mode 100644
index 0000000..7b6423a
--- /dev/null
+++ b/profiles/internal/.api
@@ -0,0 +1,4 @@
+pkg internal, func GCEPublicAddress(vlog.Logger) *net.IPAddr
+pkg internal, func HasPublicIP(vlog.Logger) bool
+pkg internal, func IPAddressChooser(string, []rpc.Address) ([]rpc.Address, error)
+pkg internal, func ParseFlags(*flags.Flags) error
diff --git a/profiles/internal/gce/.api b/profiles/internal/gce/.api
new file mode 100644
index 0000000..0be300b
--- /dev/null
+++ b/profiles/internal/gce/.api
@@ -0,0 +1,2 @@
+pkg gce, func ExternalIPAddress() (net.IP, error)
+pkg gce, func RunningOnGCE() bool
diff --git a/profiles/internal/lib/appcycle/.api b/profiles/internal/lib/appcycle/.api
new file mode 100644
index 0000000..18ff7fe
--- /dev/null
+++ b/profiles/internal/lib/appcycle/.api
@@ -0,0 +1,11 @@
+pkg appcycle, func New() *AppCycle
+pkg appcycle, method (*AppCycle) AdvanceGoal(int32)
+pkg appcycle, method (*AppCycle) AdvanceProgress(int32)
+pkg appcycle, method (*AppCycle) ForceStop()
+pkg appcycle, method (*AppCycle) Remote() interface{}
+pkg appcycle, method (*AppCycle) Shutdown()
+pkg appcycle, method (*AppCycle) Stop()
+pkg appcycle, method (*AppCycle) TrackTask(chan<- v23.Task)
+pkg appcycle, method (*AppCycle) WaitForStop(chan<- string)
+pkg appcycle, type AppCycle struct
+pkg appcycle, type AppCycle struct, embedded sync.RWMutex
diff --git a/profiles/internal/lib/bqueue/.api b/profiles/internal/lib/bqueue/.api
new file mode 100644
index 0000000..3d371b5
--- /dev/null
+++ b/profiles/internal/lib/bqueue/.api
@@ -0,0 +1,24 @@
+pkg bqueue, type FlushFunc func() error
+pkg bqueue, type ID int64
+pkg bqueue, type Priority uint
+pkg bqueue, type T interface { Close, Find, Get, NewWriter, String }
+pkg bqueue, type T interface, Close()
+pkg bqueue, type T interface, Find(ID) Writer
+pkg bqueue, type T interface, Get(FlushFunc) (Writer, []*iobuf.Slice, error)
+pkg bqueue, type T interface, NewWriter(ID, Priority, int) (Writer, error)
+pkg bqueue, type T interface, String() string
+pkg bqueue, type Writer interface { Close, ID, IsClosed, IsDrained, Put, Release, Shutdown, TryPut }
+pkg bqueue, type Writer interface, Close()
+pkg bqueue, type Writer interface, ID() ID
+pkg bqueue, type Writer interface, IsClosed() bool
+pkg bqueue, type Writer interface, IsDrained() bool
+pkg bqueue, type Writer interface, Put(*iobuf.Slice, <-chan struct{}) error
+pkg bqueue, type Writer interface, Release(int) error
+pkg bqueue, type Writer interface, Shutdown(bool)
+pkg bqueue, type Writer interface, TryPut(*iobuf.Slice) error
+pkg bqueue, var ErrBQueueIsClosed error
+pkg bqueue, var ErrCancelled error
+pkg bqueue, var ErrCantToggleFlowControl error
+pkg bqueue, var ErrTryAgain error
+pkg bqueue, var ErrWriterAlreadyExists error
+pkg bqueue, var ErrWriterIsClosed error
diff --git a/profiles/internal/lib/bqueue/drrqueue/.api b/profiles/internal/lib/bqueue/drrqueue/.api
new file mode 100644
index 0000000..c983cb3
--- /dev/null
+++ b/profiles/internal/lib/bqueue/drrqueue/.api
@@ -0,0 +1,7 @@
+pkg drrqueue, func New(int) bqueue.T
+pkg drrqueue, method (*T) Close()
+pkg drrqueue, method (*T) Find(bqueue.ID) bqueue.Writer
+pkg drrqueue, method (*T) Get(bqueue.FlushFunc) (bqueue.Writer, []*iobuf.Slice, error)
+pkg drrqueue, method (*T) NewWriter(bqueue.ID, bqueue.Priority, int) (bqueue.Writer, error)
+pkg drrqueue, method (*T) String() string
+pkg drrqueue, type T struct
diff --git a/profiles/internal/lib/dependency/.api b/profiles/internal/lib/dependency/.api
new file mode 100644
index 0000000..48c7791
--- /dev/null
+++ b/profiles/internal/lib/dependency/.api
@@ -0,0 +1,6 @@
+pkg dependency, func NewGraph() *Graph
+pkg dependency, method (*Graph) CloseAndWait(interface{}) func()
+pkg dependency, method (*Graph) CloseAndWaitForAll()
+pkg dependency, method (*Graph) Depend(interface{}, ...interface{}) error
+pkg dependency, type Graph struct
+pkg dependency, var NotFoundError error
diff --git a/profiles/internal/lib/deque/.api b/profiles/internal/lib/deque/.api
new file mode 100644
index 0000000..b814b02
--- /dev/null
+++ b/profiles/internal/lib/deque/.api
@@ -0,0 +1,10 @@
+pkg deque, method (*T) Back() interface{}
+pkg deque, method (*T) Clear()
+pkg deque, method (*T) Front() interface{}
+pkg deque, method (*T) Iter(func(interface{}) bool)
+pkg deque, method (*T) PopBack() interface{}
+pkg deque, method (*T) PopFront() interface{}
+pkg deque, method (*T) PushBack(interface{})
+pkg deque, method (*T) PushFront(interface{})
+pkg deque, method (*T) Size() int
+pkg deque, type T struct
diff --git a/profiles/internal/lib/iobuf/.api b/profiles/internal/lib/iobuf/.api
new file mode 100644
index 0000000..4ed58b9
--- /dev/null
+++ b/profiles/internal/lib/iobuf/.api
@@ -0,0 +1,22 @@
+pkg iobuf, func Coalesce([]*Slice, uint) []*Slice
+pkg iobuf, func NewAllocator(*Pool, uint) *Allocator
+pkg iobuf, func NewPool(uint) *Pool
+pkg iobuf, func NewReader(*Pool, io.Reader) *Reader
+pkg iobuf, func NewSlice([]byte) *Slice
+pkg iobuf, method (*Allocator) Alloc(uint) *Slice
+pkg iobuf, method (*Allocator) Copy([]byte) *Slice
+pkg iobuf, method (*Allocator) Release()
+pkg iobuf, method (*Pool) Close()
+pkg iobuf, method (*Reader) Close()
+pkg iobuf, method (*Reader) Read(int) (*Slice, error)
+pkg iobuf, method (*Slice) ExpandFront(uint) bool
+pkg iobuf, method (*Slice) FreeEntirePrefix()
+pkg iobuf, method (*Slice) Release()
+pkg iobuf, method (*Slice) ReleasePrevious(*Slice)
+pkg iobuf, method (*Slice) Size() int
+pkg iobuf, method (*Slice) TruncateFront(uint)
+pkg iobuf, type Allocator struct
+pkg iobuf, type Pool struct
+pkg iobuf, type Reader struct
+pkg iobuf, type Slice struct
+pkg iobuf, type Slice struct, Contents []byte
diff --git a/profiles/internal/lib/pcqueue/.api b/profiles/internal/lib/pcqueue/.api
new file mode 100644
index 0000000..b850450
--- /dev/null
+++ b/profiles/internal/lib/pcqueue/.api
@@ -0,0 +1,10 @@
+pkg pcqueue, func New(int) *T
+pkg pcqueue, method (*T) Close()
+pkg pcqueue, method (*T) Get(<-chan struct{}) (interface{}, error)
+pkg pcqueue, method (*T) Put(interface{}, <-chan struct{}) error
+pkg pcqueue, method (*T) Shutdown()
+pkg pcqueue, method (*T) TryPut(interface{}) error
+pkg pcqueue, type T struct
+pkg pcqueue, var ErrCancelled error
+pkg pcqueue, var ErrQueueIsClosed error
+pkg pcqueue, var ErrTryAgain error
diff --git a/profiles/internal/lib/publisher/.api b/profiles/internal/lib/publisher/.api
new file mode 100644
index 0000000..30a7054
--- /dev/null
+++ b/profiles/internal/lib/publisher/.api
@@ -0,0 +1,10 @@
+pkg publisher, func New(*context.T, namespace.T, time.Duration) Publisher
+pkg publisher, type Publisher interface { AddName, AddServer, DebugString, RemoveName, RemoveServer, Status, Stop, WaitForStop }
+pkg publisher, type Publisher interface, AddName(string, bool, bool)
+pkg publisher, type Publisher interface, AddServer(string)
+pkg publisher, type Publisher interface, DebugString() string
+pkg publisher, type Publisher interface, RemoveName(string)
+pkg publisher, type Publisher interface, RemoveServer(string)
+pkg publisher, type Publisher interface, Status() rpc.MountState
+pkg publisher, type Publisher interface, Stop()
+pkg publisher, type Publisher interface, WaitForStop()
diff --git a/profiles/internal/lib/sync/.api b/profiles/internal/lib/sync/.api
new file mode 100644
index 0000000..adc91ec
--- /dev/null
+++ b/profiles/internal/lib/sync/.api
@@ -0,0 +1,20 @@
+pkg sync, func NewSemaphore() *Semaphore
+pkg sync, method (*DebugMutex) CheckLocked()
+pkg sync, method (*DebugMutex) Lock()
+pkg sync, method (*DebugMutex) Unlock()
+pkg sync, method (*Semaphore) Close()
+pkg sync, method (*Semaphore) Dec(<-chan struct{}) error
+pkg sync, method (*Semaphore) DecN(uint, <-chan struct{}) error
+pkg sync, method (*Semaphore) Inc() error
+pkg sync, method (*Semaphore) IncN(uint) error
+pkg sync, method (*Semaphore) TryDec() error
+pkg sync, method (*Semaphore) TryDecN(uint) error
+pkg sync, method (*WaitGroup) Done()
+pkg sync, method (*WaitGroup) TryAdd() bool
+pkg sync, method (*WaitGroup) Wait()
+pkg sync, type DebugMutex struct
+pkg sync, type Semaphore struct
+pkg sync, type WaitGroup struct
+pkg sync, var ErrCanceled error
+pkg sync, var ErrClosed error
+pkg sync, var ErrTryAgain error
diff --git a/profiles/internal/lib/tcputil/.api b/profiles/internal/lib/tcputil/.api
new file mode 100644
index 0000000..97a5b3f
--- /dev/null
+++ b/profiles/internal/lib/tcputil/.api
@@ -0,0 +1 @@
+pkg tcputil, func EnableTCPKeepAlive(net.Conn) error
diff --git a/profiles/internal/lib/upcqueue/.api b/profiles/internal/lib/upcqueue/.api
new file mode 100644
index 0000000..1aae0fd
--- /dev/null
+++ b/profiles/internal/lib/upcqueue/.api
@@ -0,0 +1,9 @@
+pkg upcqueue, func New() *T
+pkg upcqueue, method (*T) Close()
+pkg upcqueue, method (*T) Get(<-chan struct{}) (interface{}, error)
+pkg upcqueue, method (*T) IsClosed() bool
+pkg upcqueue, method (*T) Put(interface{}) error
+pkg upcqueue, method (*T) Shutdown() []interface{}
+pkg upcqueue, method (*T) TryGet() (interface{}, error)
+pkg upcqueue, type T struct
+pkg upcqueue, var ErrQueueIsClosed error
diff --git a/profiles/internal/lib/websocket/.api b/profiles/internal/lib/websocket/.api
new file mode 100644
index 0000000..0e441af
--- /dev/null
+++ b/profiles/internal/lib/websocket/.api
@@ -0,0 +1,5 @@
+pkg websocket, func Dial(string, string, time.Duration) (net.Conn, error)
+pkg websocket, func HybridDial(string, string, time.Duration) (net.Conn, error)
+pkg websocket, func HybridListener(string, string) (net.Listener, error)
+pkg websocket, func Listener(string, string) (net.Listener, error)
+pkg websocket, func WebsocketConn(*websocket.Conn) net.Conn
diff --git a/profiles/internal/naming/.api b/profiles/internal/naming/.api
new file mode 100644
index 0000000..2f79dcc
--- /dev/null
+++ b/profiles/internal/naming/.api
@@ -0,0 +1,21 @@
+pkg naming, const Network ideal-string
+pkg naming, func NewEndpoint(string) (*Endpoint, error)
+pkg naming, method (*Endpoint) Addr() net.Addr
+pkg naming, method (*Endpoint) BlessingNames() []string
+pkg naming, method (*Endpoint) Name() string
+pkg naming, method (*Endpoint) Network() string
+pkg naming, method (*Endpoint) RPCVersionRange() version.RPCVersionRange
+pkg naming, method (*Endpoint) RoutingID() naming.RoutingID
+pkg naming, method (*Endpoint) ServesLeaf() bool
+pkg naming, method (*Endpoint) ServesMountTable() bool
+pkg naming, method (*Endpoint) String() string
+pkg naming, method (*Endpoint) VersionedString(int) string
+pkg naming, type Endpoint struct
+pkg naming, type Endpoint struct, Address string
+pkg naming, type Endpoint struct, Blessings []string
+pkg naming, type Endpoint struct, IsLeaf bool
+pkg naming, type Endpoint struct, IsMountTable bool
+pkg naming, type Endpoint struct, MaxRPCVersion version.RPCVersion
+pkg naming, type Endpoint struct, MinRPCVersion version.RPCVersion
+pkg naming, type Endpoint struct, Protocol string
+pkg naming, type Endpoint struct, RID naming.RoutingID
diff --git a/profiles/internal/naming/namespace/.api b/profiles/internal/naming/namespace/.api
new file mode 100644
index 0000000..29e7b06
--- /dev/null
+++ b/profiles/internal/naming/namespace/.api
@@ -0,0 +1 @@
+pkg namespace, func New(...string) (*namespace, error)
diff --git a/profiles/internal/platform/.api b/profiles/internal/platform/.api
new file mode 100644
index 0000000..2d4a21c
--- /dev/null
+++ b/profiles/internal/platform/.api
@@ -0,0 +1,11 @@
+pkg platform, func GetPlatform() (*Platform, error)
+pkg platform, method (*Platform) String() string
+pkg platform, type Platform struct
+pkg platform, type Platform struct, AIKCertificate *security.Certificate
+pkg platform, type Platform struct, Machine string
+pkg platform, type Platform struct, Model string
+pkg platform, type Platform struct, Node string
+pkg platform, type Platform struct, Release string
+pkg platform, type Platform struct, System string
+pkg platform, type Platform struct, Vendor string
+pkg platform, type Platform struct, Version string
diff --git a/profiles/internal/rpc/.api b/profiles/internal/rpc/.api
new file mode 100644
index 0000000..095bdb8
--- /dev/null
+++ b/profiles/internal/rpc/.api
@@ -0,0 +1,13 @@
+pkg rpc, func InternalNewClient(stream.Manager, namespace.T, ...rpc.ClientOpt) (rpc.Client, error)
+pkg rpc, func InternalNewDischargeClient(*context.T, rpc.Client, time.Duration) vc.DischargeClient
+pkg rpc, func InternalNewServer(*context.T, stream.Manager, namespace.T, rpc.Client, security.Principal, ...rpc.ServerOpt) (rpc.Server, error)
+pkg rpc, method (NoDischarges) NSOpt()
+pkg rpc, method (NoDischarges) RPCCallOpt()
+pkg rpc, method (PreferredProtocols) RPCClientOpt()
+pkg rpc, method (PreferredServerResolveProtocols) RPCServerOpt()
+pkg rpc, method (ReservedNameDispatcher) RPCServerOpt()
+pkg rpc, type NoDischarges struct
+pkg rpc, type PreferredProtocols []string
+pkg rpc, type PreferredServerResolveProtocols []string
+pkg rpc, type ReservedNameDispatcher struct
+pkg rpc, type ReservedNameDispatcher struct, Dispatcher rpc.Dispatcher
diff --git a/profiles/internal/rpc/benchmark/.api b/profiles/internal/rpc/benchmark/.api
new file mode 100644
index 0000000..8913b34
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/.api
@@ -0,0 +1,37 @@
+pkg benchmark, func BenchmarkClient(string) BenchmarkClientStub
+pkg benchmark, func BenchmarkServer(BenchmarkServerMethods) BenchmarkServerStub
+pkg benchmark, method (*BenchmarkEchoStreamServerCallStub) Init(rpc.StreamServerCall)
+pkg benchmark, method (*BenchmarkEchoStreamServerCallStub) RecvStream() interface {  Advance() bool; Value() []byte; Err() error;}
+pkg benchmark, method (*BenchmarkEchoStreamServerCallStub) SendStream() interface {  Send(item []byte) error;}
+pkg benchmark, type BenchmarkClientMethods interface { Echo, EchoStream }
+pkg benchmark, type BenchmarkClientMethods interface, Echo(*context.T, []byte, ...rpc.CallOpt) ([]byte, error)
+pkg benchmark, type BenchmarkClientMethods interface, EchoStream(*context.T, ...rpc.CallOpt) (BenchmarkEchoStreamClientCall, error)
+pkg benchmark, type BenchmarkClientStub interface, Echo(*context.T, []byte, ...rpc.CallOpt) ([]byte, error)
+pkg benchmark, type BenchmarkClientStub interface, EchoStream(*context.T, ...rpc.CallOpt) (BenchmarkEchoStreamClientCall, error)
+pkg benchmark, type BenchmarkClientStub interface, unexported methods
+pkg benchmark, type BenchmarkEchoStreamClientCall interface { Finish, RecvStream, SendStream }
+pkg benchmark, type BenchmarkEchoStreamClientCall interface, Finish() error
+pkg benchmark, type BenchmarkEchoStreamClientCall interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg benchmark, type BenchmarkEchoStreamClientCall interface, SendStream() interface {  Send(item []byte) error;; Close() error;}
+pkg benchmark, type BenchmarkEchoStreamClientStream interface { RecvStream, SendStream }
+pkg benchmark, type BenchmarkEchoStreamClientStream interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg benchmark, type BenchmarkEchoStreamClientStream interface, SendStream() interface {  Send(item []byte) error;; Close() error;}
+pkg benchmark, type BenchmarkEchoStreamServerCall interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg benchmark, type BenchmarkEchoStreamServerCall interface, SendStream() interface {  Send(item []byte) error;}
+pkg benchmark, type BenchmarkEchoStreamServerCall interface, unexported methods
+pkg benchmark, type BenchmarkEchoStreamServerCallStub struct
+pkg benchmark, type BenchmarkEchoStreamServerCallStub struct, embedded rpc.StreamServerCall
+pkg benchmark, type BenchmarkEchoStreamServerStream interface { RecvStream, SendStream }
+pkg benchmark, type BenchmarkEchoStreamServerStream interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg benchmark, type BenchmarkEchoStreamServerStream interface, SendStream() interface {  Send(item []byte) error;}
+pkg benchmark, type BenchmarkServerMethods interface { Echo, EchoStream }
+pkg benchmark, type BenchmarkServerMethods interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg benchmark, type BenchmarkServerMethods interface, EchoStream(*context.T, BenchmarkEchoStreamServerCall) error
+pkg benchmark, type BenchmarkServerStub interface { Describe__, Echo, EchoStream }
+pkg benchmark, type BenchmarkServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg benchmark, type BenchmarkServerStub interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg benchmark, type BenchmarkServerStub interface, EchoStream(*context.T, *BenchmarkEchoStreamServerCallStub) error
+pkg benchmark, type BenchmarkServerStubMethods interface { Echo, EchoStream }
+pkg benchmark, type BenchmarkServerStubMethods interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg benchmark, type BenchmarkServerStubMethods interface, EchoStream(*context.T, *BenchmarkEchoStreamServerCallStub) error
+pkg benchmark, var BenchmarkDesc rpc.InterfaceDesc
diff --git a/profiles/internal/rpc/benchmark/benchmark/.api b/profiles/internal/rpc/benchmark/benchmark/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/benchmark/.api
diff --git a/profiles/internal/rpc/benchmark/benchmarkd/.api b/profiles/internal/rpc/benchmark/benchmarkd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/benchmarkd/.api
diff --git a/profiles/internal/rpc/benchmark/glob/.api b/profiles/internal/rpc/benchmark/glob/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/glob/.api
diff --git a/profiles/internal/rpc/benchmark/internal/.api b/profiles/internal/rpc/benchmark/internal/.api
new file mode 100644
index 0000000..ff87918
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/internal/.api
@@ -0,0 +1,4 @@
+pkg internal, func CallEcho(*testing.B, *context.T, string, int, int, *tbm.Stats)
+pkg internal, func CallEchoStream(*testing.B, *context.T, string, int, int, int, *tbm.Stats)
+pkg internal, func StartEchoStream(*testing.B, *context.T, string, int, int, int, *tbm.Stats) (<-chan int, func())
+pkg internal, func StartServer(*context.T, rpc.ListenSpec) (naming.Endpoint, func())
diff --git a/profiles/internal/rpc/benchmark/main/.api b/profiles/internal/rpc/benchmark/main/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/main/.api
diff --git a/profiles/internal/rpc/protocols/tcp/.api b/profiles/internal/rpc/protocols/tcp/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/protocols/tcp/.api
diff --git a/profiles/internal/rpc/protocols/ws/.api b/profiles/internal/rpc/protocols/ws/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/protocols/ws/.api
diff --git a/profiles/internal/rpc/protocols/wsh/.api b/profiles/internal/rpc/protocols/wsh/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/protocols/wsh/.api
diff --git a/profiles/internal/rpc/protocols/wsh_nacl/.api b/profiles/internal/rpc/protocols/wsh_nacl/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/protocols/wsh_nacl/.api
diff --git a/profiles/internal/rpc/stream/.api b/profiles/internal/rpc/stream/.api
new file mode 100644
index 0000000..47baafe
--- /dev/null
+++ b/profiles/internal/rpc/stream/.api
@@ -0,0 +1,53 @@
+pkg stream, func NewNetError(error, bool, bool) net.Error
+pkg stream, method (NetError) Error() string
+pkg stream, method (NetError) Temporary() bool
+pkg stream, method (NetError) Timeout() bool
+pkg stream, type Connector interface { Connect }
+pkg stream, type Connector interface, Connect(...FlowOpt) (Flow, error)
+pkg stream, type Flow interface { Cancel, Close, Closed, IsClosed, LocalBlessings, LocalDischarges, LocalEndpoint, LocalPrincipal, Read, RemoteBlessings, RemoteDischarges, RemoteEndpoint, SetDeadline, VCDataCache, Write }
+pkg stream, type Flow interface, Cancel()
+pkg stream, type Flow interface, Close() error
+pkg stream, type Flow interface, Closed() <-chan struct{}
+pkg stream, type Flow interface, IsClosed() bool
+pkg stream, type Flow interface, LocalBlessings() security.Blessings
+pkg stream, type Flow interface, LocalDischarges() map[string]security.Discharge
+pkg stream, type Flow interface, LocalEndpoint() naming.Endpoint
+pkg stream, type Flow interface, LocalPrincipal() security.Principal
+pkg stream, type Flow interface, Read([]byte) (int, error)
+pkg stream, type Flow interface, RemoteBlessings() security.Blessings
+pkg stream, type Flow interface, RemoteDischarges() map[string]security.Discharge
+pkg stream, type Flow interface, RemoteEndpoint() naming.Endpoint
+pkg stream, type Flow interface, SetDeadline(<-chan struct{})
+pkg stream, type Flow interface, VCDataCache() VCDataCache
+pkg stream, type Flow interface, Write([]byte) (int, error)
+pkg stream, type FlowOpt interface { RPCStreamFlowOpt }
+pkg stream, type FlowOpt interface, RPCStreamFlowOpt()
+pkg stream, type Listener interface { Accept, Close }
+pkg stream, type Listener interface, Accept() (Flow, error)
+pkg stream, type Listener interface, Close() error
+pkg stream, type ListenerOpt interface { RPCStreamListenerOpt }
+pkg stream, type ListenerOpt interface, RPCStreamListenerOpt()
+pkg stream, type Manager interface { Dial, Listen, RoutingID, Shutdown, ShutdownEndpoint }
+pkg stream, type Manager interface, Dial(naming.Endpoint, security.Principal, ...VCOpt) (VC, error)
+pkg stream, type Manager interface, Listen(string, string, security.Principal, security.Blessings, ...ListenerOpt) (Listener, naming.Endpoint, error)
+pkg stream, type Manager interface, RoutingID() naming.RoutingID
+pkg stream, type Manager interface, Shutdown()
+pkg stream, type Manager interface, ShutdownEndpoint(naming.Endpoint)
+pkg stream, type NetError struct
+pkg stream, type VC interface { Close, Connect, Listen }
+pkg stream, type VC interface, Close(error) error
+pkg stream, type VC interface, Connect(...FlowOpt) (Flow, error)
+pkg stream, type VC interface, Listen() (Listener, error)
+pkg stream, type VCDataCache interface { Get, GetOrInsert }
+pkg stream, type VCDataCache interface, Get(interface{}) interface{}
+pkg stream, type VCDataCache interface, GetOrInsert(interface{}, func() interface{}) interface{}
+pkg stream, type VCOpt interface { RPCStreamVCOpt }
+pkg stream, type VCOpt interface, RPCStreamVCOpt()
+pkg stream, var ErrAborted unknown-type
+pkg stream, var ErrBadArg unknown-type
+pkg stream, var ErrBadState unknown-type
+pkg stream, var ErrDialFailed unknown-type
+pkg stream, var ErrNetwork unknown-type
+pkg stream, var ErrNotTrusted unknown-type
+pkg stream, var ErrProxy unknown-type
+pkg stream, var ErrSecurity unknown-type
diff --git a/profiles/internal/rpc/stream/benchmark/.api b/profiles/internal/rpc/stream/benchmark/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/stream/benchmark/.api
diff --git a/profiles/internal/rpc/stream/crypto/.api b/profiles/internal/rpc/stream/crypto/.api
new file mode 100644
index 0000000..b35c455
--- /dev/null
+++ b/profiles/internal/rpc/stream/crypto/.api
@@ -0,0 +1,34 @@
+pkg crypto, func NewBoxCrypter(BoxKeyExchanger, *iobuf.Pool) (Crypter, error)
+pkg crypto, func NewControlCipherRPC6(*BoxKey, *BoxKey, bool) ControlCipher
+pkg crypto, func NewDisabledControlCipher(ControlCipher) ControlCipher
+pkg crypto, func NewNullCrypter() Crypter
+pkg crypto, func NewTLSClient(io.ReadWriteCloser, net.Addr, net.Addr, TLSClientSessionCache, *iobuf.Pool) (Crypter, error)
+pkg crypto, func NewTLSClientSessionCache() TLSClientSessionCache
+pkg crypto, func NewTLSServer(io.ReadWriteCloser, net.Addr, net.Addr, *iobuf.Pool) (Crypter, error)
+pkg crypto, func ServerTLSConfig() *tls.Config
+pkg crypto, method (NullControlCipher) Decrypt([]byte)
+pkg crypto, method (NullControlCipher) Encrypt([]byte)
+pkg crypto, method (NullControlCipher) MACSize() int
+pkg crypto, method (NullControlCipher) Open([]byte) bool
+pkg crypto, method (NullControlCipher) Seal([]byte) error
+pkg crypto, method (TLSClientSessionCache) RPCStreamVCOpt()
+pkg crypto, type BoxKey [32]byte
+pkg crypto, type BoxKeyExchanger func(myPublicKey *BoxKey) (theirPublicKey *BoxKey, err error)
+pkg crypto, type ControlCipher interface { Decrypt, Encrypt, MACSize, Open, Seal }
+pkg crypto, type ControlCipher interface, Decrypt([]byte)
+pkg crypto, type ControlCipher interface, Encrypt([]byte)
+pkg crypto, type ControlCipher interface, MACSize() int
+pkg crypto, type ControlCipher interface, Open([]byte) bool
+pkg crypto, type ControlCipher interface, Seal([]byte) error
+pkg crypto, type Crypter interface { ChannelBinding, Decrypt, Encrypt, String }
+pkg crypto, type Crypter interface, ChannelBinding() []byte
+pkg crypto, type Crypter interface, Decrypt(*iobuf.Slice) (*iobuf.Slice, error)
+pkg crypto, type Crypter interface, Encrypt(*iobuf.Slice) (*iobuf.Slice, error)
+pkg crypto, type Crypter interface, String() string
+pkg crypto, type Decrypter interface { Decrypt }
+pkg crypto, type Decrypter interface, Decrypt(*iobuf.Slice) (*iobuf.Slice, error)
+pkg crypto, type Encrypter interface { Encrypt }
+pkg crypto, type Encrypter interface, Encrypt(*iobuf.Slice) (*iobuf.Slice, error)
+pkg crypto, type NullControlCipher struct
+pkg crypto, type TLSClientSessionCache struct
+pkg crypto, type TLSClientSessionCache struct, embedded tls.ClientSessionCache
diff --git a/profiles/internal/rpc/stream/id/.api b/profiles/internal/rpc/stream/id/.api
new file mode 100644
index 0000000..e1cb2e1
--- /dev/null
+++ b/profiles/internal/rpc/stream/id/.api
@@ -0,0 +1,2 @@
+pkg id, type Flow uint32
+pkg id, type VC uint32
diff --git a/profiles/internal/rpc/stream/manager/.api b/profiles/internal/rpc/stream/manager/.api
new file mode 100644
index 0000000..80636ef
--- /dev/null
+++ b/profiles/internal/rpc/stream/manager/.api
@@ -0,0 +1,4 @@
+pkg manager, func InternalNew(naming.RoutingID) stream.Manager
+pkg manager, method (DialTimeout) RPCClientOpt()
+pkg manager, method (DialTimeout) RPCStreamVCOpt()
+pkg manager, type DialTimeout time.Duration
diff --git a/profiles/internal/rpc/stream/message/.api b/profiles/internal/rpc/stream/message/.api
new file mode 100644
index 0000000..f9b8fcb
--- /dev/null
+++ b/profiles/internal/rpc/stream/message/.api
@@ -0,0 +1,53 @@
+pkg message, const HeaderSizeBytes ideal-int
+pkg message, func EncryptMessage([]byte, crypto.ControlCipher) error
+pkg message, func MakeCounterID(id.VC, id.Flow) CounterID
+pkg message, func NewCounters() Counters
+pkg message, func ReadFrom(*iobuf.Reader, crypto.ControlCipher) (T, error)
+pkg message, func WriteTo(io.Writer, T, crypto.ControlCipher) error
+pkg message, method (*CounterID) Flow() id.Flow
+pkg message, method (*CounterID) String() string
+pkg message, method (*CounterID) VCI() id.VC
+pkg message, method (*Data) Close() bool
+pkg message, method (*Data) PayloadSize() int
+pkg message, method (*Data) Release()
+pkg message, method (*Data) SetClose()
+pkg message, method (*Data) String() string
+pkg message, method (*Setup) NaclBox() *NaclBox
+pkg message, method (Counters) Add(id.VC, id.Flow, uint32)
+pkg message, method (Counters) String() string
+pkg message, type AddReceiveBuffers struct
+pkg message, type AddReceiveBuffers struct, Counters Counters
+pkg message, type CloseVC struct
+pkg message, type CloseVC struct, Error string
+pkg message, type CloseVC struct, VCI id.VC
+pkg message, type Control interface, unexported methods
+pkg message, type CounterID uint64
+pkg message, type Counters map[CounterID]uint32
+pkg message, type Data struct
+pkg message, type Data struct, Flow id.Flow
+pkg message, type Data struct, Payload *iobuf.Slice
+pkg message, type Data struct, VCI id.VC
+pkg message, type NaclBox struct
+pkg message, type NaclBox struct, PublicKey crypto.BoxKey
+pkg message, type OpenFlow struct
+pkg message, type OpenFlow struct, Flow id.Flow
+pkg message, type OpenFlow struct, InitialCounters uint32
+pkg message, type OpenFlow struct, VCI id.VC
+pkg message, type OpenVC struct
+pkg message, type OpenVC struct, Counters Counters
+pkg message, type OpenVC struct, DstEndpoint naming.Endpoint
+pkg message, type OpenVC struct, SrcEndpoint naming.Endpoint
+pkg message, type OpenVC struct, VCI id.VC
+pkg message, type Setup struct
+pkg message, type Setup struct, Options []SetupOption
+pkg message, type Setup struct, Versions version.Range
+pkg message, type SetupOption interface, unexported methods
+pkg message, type SetupStream struct
+pkg message, type SetupStream struct, Data []byte
+pkg message, type SetupVC struct
+pkg message, type SetupVC struct, Counters Counters
+pkg message, type SetupVC struct, LocalEndpoint naming.Endpoint
+pkg message, type SetupVC struct, RemoteEndpoint naming.Endpoint
+pkg message, type SetupVC struct, Setup Setup
+pkg message, type SetupVC struct, VCI id.VC
+pkg message, type T interface {}
diff --git a/profiles/internal/rpc/stream/proxy/.api b/profiles/internal/rpc/stream/proxy/.api
new file mode 100644
index 0000000..604aef5
--- /dev/null
+++ b/profiles/internal/rpc/stream/proxy/.api
@@ -0,0 +1,6 @@
+pkg proxy, func New(*context.T, string, string, string, ...string) (func(), naming.Endpoint, error)
+pkg proxy, type Proxy struct
+pkg proxy, type Request struct
+pkg proxy, type Response struct
+pkg proxy, type Response struct, Endpoint string
+pkg proxy, type Response struct, Error error
diff --git a/profiles/internal/rpc/stream/vc/.api b/profiles/internal/rpc/stream/vc/.api
new file mode 100644
index 0000000..11bcfcc
--- /dev/null
+++ b/profiles/internal/rpc/stream/vc/.api
@@ -0,0 +1,80 @@
+pkg vc, const AuthFlowID ideal-int
+pkg vc, const DefaultBytesBufferedPerFlow ideal-int
+pkg vc, const DefaultServerDischargeExpiryBuffer time.Duration
+pkg vc, const HandshakeFlowID ideal-int
+pkg vc, const MaxPayloadSizeBytes ideal-int
+pkg vc, const MaxSharedBytes ideal-int
+pkg vc, const NumFlowPriorities bqueue.Priority
+pkg vc, const NumReservedFlows ideal-int
+pkg vc, const NumReservedVCs ideal-int
+pkg vc, const SharedFlowID ideal-int
+pkg vc, const TypeFlowID ideal-int
+pkg vc, func AuthenticateAsClient(io.ReadWriteCloser, crypto.Crypter, security.CallParams, *ServerAuthorizer, version.RPCVersion) (security.Blessings, security.Blessings, map[string]security.Discharge, error)
+pkg vc, func AuthenticateAsServer(io.ReadWriteCloser, security.Principal, security.Blessings, DischargeClient, crypto.Crypter, version.RPCVersion) (security.Blessings, map[string]security.Discharge, error)
+pkg vc, func InternalNew(Params) *VC
+pkg vc, method (*ServerAuthorizer) Authorize(security.CallParams) error
+pkg vc, method (*ServerAuthorizer) RPCStreamVCOpt()
+pkg vc, method (*VC) AcceptFlow(id.Flow) error
+pkg vc, method (*VC) Close(error) error
+pkg vc, method (*VC) Connect(...stream.FlowOpt) (stream.Flow, error)
+pkg vc, method (*VC) DebugString() string
+pkg vc, method (*VC) DispatchPayload(id.Flow, *iobuf.Slice) error
+pkg vc, method (*VC) Encrypt(id.Flow, *iobuf.Slice) (*iobuf.Slice, error)
+pkg vc, method (*VC) FinishHandshakeDialedVC(version.RPCVersion, *crypto.BoxKey) error
+pkg vc, method (*VC) HandshakeAcceptedVC(version.RPCVersion, security.Principal, security.Blessings, crypto.BoxKeyExchanger, ...stream.ListenerOpt) <-chan HandshakeResult
+pkg vc, method (*VC) HandshakeDialedVC(security.Principal, version.RPCVersion, func(*crypto.BoxKey) error, ...stream.VCOpt) error
+pkg vc, method (*VC) Listen() (stream.Listener, error)
+pkg vc, method (*VC) LocalBlessings() security.Blessings
+pkg vc, method (*VC) LocalDischarges() map[string]security.Discharge
+pkg vc, method (*VC) LocalEndpoint() naming.Endpoint
+pkg vc, method (*VC) LocalPrincipal() security.Principal
+pkg vc, method (*VC) ReleaseCounters(id.Flow, uint32)
+pkg vc, method (*VC) RemoteBlessings() security.Blessings
+pkg vc, method (*VC) RemoteDischarges() map[string]security.Discharge
+pkg vc, method (*VC) RemoteEndpoint() naming.Endpoint
+pkg vc, method (*VC) ShutdownFlow(id.Flow)
+pkg vc, method (*VC) String() string
+pkg vc, method (*VC) VCDataCache() stream.VCDataCache
+pkg vc, method (*VC) VCI() id.VC
+pkg vc, method (*VC) Version() version.RPCVersion
+pkg vc, method (DialContext) RPCStreamListenerOpt()
+pkg vc, method (DialContext) RPCStreamVCOpt()
+pkg vc, method (DischargeExpiryBuffer) RPCServerOpt()
+pkg vc, method (DischargeExpiryBuffer) RPCStreamListenerOpt()
+pkg vc, method (IdleTimeout) RPCStreamListenerOpt()
+pkg vc, method (IdleTimeout) RPCStreamVCOpt()
+pkg vc, method (StartTimeout) RPCStreamListenerOpt()
+pkg vc, method (StartTimeout) RPCStreamVCOpt()
+pkg vc, type DialContext struct
+pkg vc, type DialContext struct, embedded *context.T
+pkg vc, type DischargeClient interface { Invalidate, PrepareDischarges, RPCStreamListenerOpt }
+pkg vc, type DischargeClient interface, Invalidate(...security.Discharge)
+pkg vc, type DischargeClient interface, PrepareDischarges(*context.T, []security.Caveat, security.DischargeImpetus) []security.Discharge
+pkg vc, type DischargeClient interface, RPCStreamListenerOpt()
+pkg vc, type DischargeExpiryBuffer time.Duration
+pkg vc, type HandshakeResult struct
+pkg vc, type HandshakeResult struct, Error error
+pkg vc, type HandshakeResult struct, Listener stream.Listener
+pkg vc, type Helper interface { AddReceiveBuffers, NewWriter, NotifyOfNewFlow }
+pkg vc, type Helper interface, AddReceiveBuffers(id.VC, id.Flow, uint)
+pkg vc, type Helper interface, NewWriter(id.VC, id.Flow, bqueue.Priority) (bqueue.Writer, error)
+pkg vc, type Helper interface, NotifyOfNewFlow(id.VC, id.Flow, uint)
+pkg vc, type IdleTimeout struct
+pkg vc, type IdleTimeout struct, embedded time.Duration
+pkg vc, type Params struct
+pkg vc, type Params struct, Dialed bool
+pkg vc, type Params struct, Helper Helper
+pkg vc, type Params struct, LocalEP naming.Endpoint
+pkg vc, type Params struct, Pool *iobuf.Pool
+pkg vc, type Params struct, RemoteEP naming.Endpoint
+pkg vc, type Params struct, ReserveBytes uint
+pkg vc, type Params struct, VCI id.VC
+pkg vc, type ServerAuthorizer struct
+pkg vc, type ServerAuthorizer struct, Method string
+pkg vc, type ServerAuthorizer struct, Policy security.Authorizer
+pkg vc, type ServerAuthorizer struct, Suffix string
+pkg vc, type StartTimeout struct
+pkg vc, type StartTimeout struct, embedded time.Duration
+pkg vc, type TypeDecoderKey struct
+pkg vc, type TypeEncoderKey struct
+pkg vc, type VC struct
diff --git a/profiles/internal/rpc/stream/vif/.api b/profiles/internal/rpc/stream/vif/.api
new file mode 100644
index 0000000..4ad0c30
--- /dev/null
+++ b/profiles/internal/rpc/stream/vif/.api
@@ -0,0 +1,24 @@
+pkg vif, func AuthenticateAsClient(io.Writer, *iobuf.Reader, *version.Range, security.CallParams, *vc.ServerAuthorizer) (crypto.ControlCipher, error)
+pkg vif, func AuthenticateAsServer(io.Writer, *iobuf.Reader, *version.Range, security.Principal, security.Blessings, vc.DischargeClient) (crypto.ControlCipher, error)
+pkg vif, func InternalNewAcceptedVIF(net.Conn, naming.RoutingID, security.Principal, security.Blessings, *iversion.Range, func(*VIF), ...stream.ListenerOpt) (*VIF, error)
+pkg vif, func InternalNewDialedVIF(net.Conn, naming.RoutingID, security.Principal, *iversion.Range, func(*VIF), ...stream.VCOpt) (*VIF, error)
+pkg vif, func NewSet() *Set
+pkg vif, func SetFakeTimers() func()
+pkg vif, method (*Set) Delete(*VIF)
+pkg vif, method (*Set) Find(string, string) *VIF
+pkg vif, method (*Set) Insert(*VIF)
+pkg vif, method (*Set) List() []*VIF
+pkg vif, method (*VIF) Accept() (ConnectorAndFlow, error)
+pkg vif, method (*VIF) Close()
+pkg vif, method (*VIF) DebugString() string
+pkg vif, method (*VIF) Dial(naming.Endpoint, security.Principal, ...stream.VCOpt) (stream.VC, error)
+pkg vif, method (*VIF) NumVCs() int
+pkg vif, method (*VIF) ShutdownVCs(naming.Endpoint) int
+pkg vif, method (*VIF) StartAccepting(...stream.ListenerOpt) error
+pkg vif, method (*VIF) StopAccepting()
+pkg vif, method (*VIF) String() string
+pkg vif, type ConnectorAndFlow struct
+pkg vif, type ConnectorAndFlow struct, Connector stream.Connector
+pkg vif, type ConnectorAndFlow struct, Flow stream.Flow
+pkg vif, type Set struct
+pkg vif, type VIF struct
diff --git a/profiles/internal/rpc/stress/.api b/profiles/internal/rpc/stress/.api
new file mode 100644
index 0000000..116e5e1
--- /dev/null
+++ b/profiles/internal/rpc/stress/.api
@@ -0,0 +1,61 @@
+pkg stress, func StressClient(string) StressClientStub
+pkg stress, func StressServer(StressServerMethods) StressServerStub
+pkg stress, method (*StressSumStreamServerCallStub) Init(rpc.StreamServerCall)
+pkg stress, method (*StressSumStreamServerCallStub) RecvStream() interface {  Advance() bool; Value() SumArg; Err() error;}
+pkg stress, method (*StressSumStreamServerCallStub) SendStream() interface {  Send(item []byte) error;}
+pkg stress, type StressClientMethods interface { Echo, GetSumStats, Stop, Sum, SumStream }
+pkg stress, type StressClientMethods interface, Echo(*context.T, []byte, ...rpc.CallOpt) ([]byte, error)
+pkg stress, type StressClientMethods interface, GetSumStats(*context.T, ...rpc.CallOpt) (SumStats, error)
+pkg stress, type StressClientMethods interface, Stop(*context.T, ...rpc.CallOpt) error
+pkg stress, type StressClientMethods interface, Sum(*context.T, SumArg, ...rpc.CallOpt) ([]byte, error)
+pkg stress, type StressClientMethods interface, SumStream(*context.T, ...rpc.CallOpt) (StressSumStreamClientCall, error)
+pkg stress, type StressClientStub interface, Echo(*context.T, []byte, ...rpc.CallOpt) ([]byte, error)
+pkg stress, type StressClientStub interface, GetSumStats(*context.T, ...rpc.CallOpt) (SumStats, error)
+pkg stress, type StressClientStub interface, Stop(*context.T, ...rpc.CallOpt) error
+pkg stress, type StressClientStub interface, Sum(*context.T, SumArg, ...rpc.CallOpt) ([]byte, error)
+pkg stress, type StressClientStub interface, SumStream(*context.T, ...rpc.CallOpt) (StressSumStreamClientCall, error)
+pkg stress, type StressClientStub interface, unexported methods
+pkg stress, type StressServerMethods interface { Echo, GetSumStats, Stop, Sum, SumStream }
+pkg stress, type StressServerMethods interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg stress, type StressServerMethods interface, GetSumStats(*context.T, rpc.ServerCall) (SumStats, error)
+pkg stress, type StressServerMethods interface, Stop(*context.T, rpc.ServerCall) error
+pkg stress, type StressServerMethods interface, Sum(*context.T, rpc.ServerCall, SumArg) ([]byte, error)
+pkg stress, type StressServerMethods interface, SumStream(*context.T, StressSumStreamServerCall) error
+pkg stress, type StressServerStub interface { Describe__, Echo, GetSumStats, Stop, Sum, SumStream }
+pkg stress, type StressServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg stress, type StressServerStub interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg stress, type StressServerStub interface, GetSumStats(*context.T, rpc.ServerCall) (SumStats, error)
+pkg stress, type StressServerStub interface, Stop(*context.T, rpc.ServerCall) error
+pkg stress, type StressServerStub interface, Sum(*context.T, rpc.ServerCall, SumArg) ([]byte, error)
+pkg stress, type StressServerStub interface, SumStream(*context.T, *StressSumStreamServerCallStub) error
+pkg stress, type StressServerStubMethods interface { Echo, GetSumStats, Stop, Sum, SumStream }
+pkg stress, type StressServerStubMethods interface, Echo(*context.T, rpc.ServerCall, []byte) ([]byte, error)
+pkg stress, type StressServerStubMethods interface, GetSumStats(*context.T, rpc.ServerCall) (SumStats, error)
+pkg stress, type StressServerStubMethods interface, Stop(*context.T, rpc.ServerCall) error
+pkg stress, type StressServerStubMethods interface, Sum(*context.T, rpc.ServerCall, SumArg) ([]byte, error)
+pkg stress, type StressServerStubMethods interface, SumStream(*context.T, *StressSumStreamServerCallStub) error
+pkg stress, type StressSumStreamClientCall interface { Finish, RecvStream, SendStream }
+pkg stress, type StressSumStreamClientCall interface, Finish() error
+pkg stress, type StressSumStreamClientCall interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg stress, type StressSumStreamClientCall interface, SendStream() interface {  Send(item SumArg) error;; Close() error;}
+pkg stress, type StressSumStreamClientStream interface { RecvStream, SendStream }
+pkg stress, type StressSumStreamClientStream interface, RecvStream() interface {  Advance() bool;; Value() []byte;; Err() error;}
+pkg stress, type StressSumStreamClientStream interface, SendStream() interface {  Send(item SumArg) error;; Close() error;}
+pkg stress, type StressSumStreamServerCall interface, RecvStream() interface {  Advance() bool;; Value() SumArg;; Err() error;}
+pkg stress, type StressSumStreamServerCall interface, SendStream() interface {  Send(item []byte) error;}
+pkg stress, type StressSumStreamServerCall interface, unexported methods
+pkg stress, type StressSumStreamServerCallStub struct
+pkg stress, type StressSumStreamServerCallStub struct, embedded rpc.StreamServerCall
+pkg stress, type StressSumStreamServerStream interface { RecvStream, SendStream }
+pkg stress, type StressSumStreamServerStream interface, RecvStream() interface {  Advance() bool;; Value() SumArg;; Err() error;}
+pkg stress, type StressSumStreamServerStream interface, SendStream() interface {  Send(item []byte) error;}
+pkg stress, type SumArg struct
+pkg stress, type SumArg struct, ABool bool
+pkg stress, type SumArg struct, AInt64 int64
+pkg stress, type SumArg struct, AListOfBytes []byte
+pkg stress, type SumStats struct
+pkg stress, type SumStats struct, BytesRecv uint64
+pkg stress, type SumStats struct, BytesSent uint64
+pkg stress, type SumStats struct, SumCount uint64
+pkg stress, type SumStats struct, SumStreamCount uint64
+pkg stress, var StressDesc rpc.InterfaceDesc
diff --git a/profiles/internal/rpc/stress/internal/.api b/profiles/internal/rpc/stress/internal/.api
new file mode 100644
index 0000000..68b8b56
--- /dev/null
+++ b/profiles/internal/rpc/stress/internal/.api
@@ -0,0 +1,4 @@
+pkg internal, func CallEcho(*context.T, string, int, time.Duration) uint64
+pkg internal, func CallSum(*context.T, string, int, *stress.SumStats)
+pkg internal, func CallSumStream(*context.T, string, int, int, *stress.SumStats)
+pkg internal, func StartServer(*context.T, rpc.ListenSpec) (rpc.Server, naming.Endpoint, <-chan struct{})
diff --git a/profiles/internal/rpc/stress/mtstress/.api b/profiles/internal/rpc/stress/mtstress/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/stress/mtstress/.api
diff --git a/profiles/internal/rpc/stress/stress/.api b/profiles/internal/rpc/stress/stress/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/stress/stress/.api
diff --git a/profiles/internal/rpc/stress/stressd/.api b/profiles/internal/rpc/stress/stressd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/stress/stressd/.api
diff --git a/profiles/internal/rpc/test/.api b/profiles/internal/rpc/test/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profiles/internal/rpc/test/.api
diff --git a/profiles/internal/rpc/version/.api b/profiles/internal/rpc/version/.api
new file mode 100644
index 0000000..72b65cf
--- /dev/null
+++ b/profiles/internal/rpc/version/.api
@@ -0,0 +1,17 @@
+pkg version, func IsVersionError(error) bool
+pkg version, method (*Range) CheckCompatibility(naming.Endpoint) error
+pkg version, method (*Range) CommonVersion(naming.Endpoint, naming.Endpoint) (version.RPCVersion, error)
+pkg version, method (*Range) Endpoint(string, string, naming.RoutingID) *inaming.Endpoint
+pkg version, method (*Range) Intersect(*Range) (*Range, error)
+pkg version, method (*Range) ProxiedEndpoint(naming.RoutingID, naming.Endpoint) (*inaming.Endpoint, error)
+pkg version, type Range struct
+pkg version, type Range struct, Max version.RPCVersion
+pkg version, type Range struct, Min version.RPCVersion
+pkg version, var CheckCompatibility unknown-type
+pkg version, var CommonVersion unknown-type
+pkg version, var Endpoint unknown-type
+pkg version, var ErrDeprecatedVersion verror.IDAction
+pkg version, var ErrNoCompatibleVersion verror.IDAction
+pkg version, var ErrUnknownVersion verror.IDAction
+pkg version, var ProxiedEndpoint unknown-type
+pkg version, var SupportedRange *Range
diff --git a/profiles/internal/rt/.api b/profiles/internal/rt/.api
new file mode 100644
index 0000000..95dd3dd
--- /dev/null
+++ b/profiles/internal/rt/.api
@@ -0,0 +1,18 @@
+pkg rt, func Init(*context.T, v23.AppCycle, []string, *rpc.ListenSpec, flags.RuntimeFlags, rpc.Dispatcher) (*Runtime, *context.T, v23.Shutdown, error)
+pkg rt, method (*Runtime) GetAppCycle(*context.T) v23.AppCycle
+pkg rt, method (*Runtime) GetBackgroundContext(*context.T) *context.T
+pkg rt, method (*Runtime) GetClient(*context.T) rpc.Client
+pkg rt, method (*Runtime) GetListenSpec(*context.T) rpc.ListenSpec
+pkg rt, method (*Runtime) GetNamespace(*context.T) namespace.T
+pkg rt, method (*Runtime) GetPrincipal(*context.T) security.Principal
+pkg rt, method (*Runtime) GetReservedNameDispatcher(*context.T) rpc.Dispatcher
+pkg rt, method (*Runtime) Init(*context.T) error
+pkg rt, method (*Runtime) NewEndpoint(string) (naming.Endpoint, error)
+pkg rt, method (*Runtime) NewServer(*context.T, ...rpc.ServerOpt) (rpc.Server, error)
+pkg rt, method (*Runtime) WithBackgroundContext(*context.T) *context.T
+pkg rt, method (*Runtime) WithNewClient(*context.T, ...rpc.ClientOpt) (*context.T, rpc.Client, error)
+pkg rt, method (*Runtime) WithNewNamespace(*context.T, ...string) (*context.T, namespace.T, error)
+pkg rt, method (*Runtime) WithNewStreamManager(*context.T) (*context.T, error)
+pkg rt, method (*Runtime) WithPrincipal(*context.T, security.Principal) (*context.T, error)
+pkg rt, method (*Runtime) WithReservedNameDispatcher(*context.T, rpc.Dispatcher) *context.T
+pkg rt, type Runtime struct
diff --git a/profiles/internal/testing/concurrency/.api b/profiles/internal/testing/concurrency/.api
new file mode 100644
index 0000000..8e36ffb
--- /dev/null
+++ b/profiles/internal/testing/concurrency/.api
@@ -0,0 +1,25 @@
+pkg concurrency, func Exit()
+pkg concurrency, func Finish()
+pkg concurrency, func Init(func(), func(), func()) *Tester
+pkg concurrency, func Start(func())
+pkg concurrency, func T() *Tester
+pkg concurrency, func TIDGenerator() func() TID
+pkg concurrency, method (*Tester) Explore() (int, error)
+pkg concurrency, method (*Tester) ExploreFor(time.Duration) (int, error)
+pkg concurrency, method (*Tester) ExploreN(int) (int, error)
+pkg concurrency, method (*Tester) MutexLock(*sync.Mutex)
+pkg concurrency, method (*Tester) MutexUnlock(*sync.Mutex)
+pkg concurrency, method (*Tester) RWMutexLock(*sync.RWMutex)
+pkg concurrency, method (*Tester) RWMutexRLock(*sync.RWMutex)
+pkg concurrency, method (*Tester) RWMutexRUnlock(*sync.RWMutex)
+pkg concurrency, method (*Tester) RWMutexUnlock(*sync.RWMutex)
+pkg concurrency, method (IncreasingDepth) Len() int
+pkg concurrency, method (IncreasingDepth) Less(int, int) bool
+pkg concurrency, method (IncreasingDepth) Swap(int, int)
+pkg concurrency, method (IncreasingTID) Len() int
+pkg concurrency, method (IncreasingTID) Less(int, int) bool
+pkg concurrency, method (IncreasingTID) Swap(int, int)
+pkg concurrency, type IncreasingDepth []*state
+pkg concurrency, type IncreasingTID []TID
+pkg concurrency, type TID int
+pkg concurrency, type Tester struct
diff --git a/profiles/internal/testing/concurrency/sync/.api b/profiles/internal/testing/concurrency/sync/.api
new file mode 100644
index 0000000..60e9cb2
--- /dev/null
+++ b/profiles/internal/testing/concurrency/sync/.api
@@ -0,0 +1,9 @@
+pkg sync, method (*Mutex) Lock()
+pkg sync, method (*Mutex) Unlock()
+pkg sync, method (*RWMutex) Lock()
+pkg sync, method (*RWMutex) RLock()
+pkg sync, method (*RWMutex) RLocker() sync.Locker
+pkg sync, method (*RWMutex) RUnlock()
+pkg sync, method (*RWMutex) Unlock()
+pkg sync, type Mutex struct
+pkg sync, type RWMutex struct
diff --git a/profiles/internal/testing/mocks/mocknet/.api b/profiles/internal/testing/mocks/mocknet/.api
new file mode 100644
index 0000000..b66e8d0
--- /dev/null
+++ b/profiles/internal/testing/mocks/mocknet/.api
@@ -0,0 +1,17 @@
+pkg mocknet, const Close Mode
+pkg mocknet, const Drop Mode
+pkg mocknet, const Trace Mode
+pkg mocknet, const V23CloseAtMessage Mode
+pkg mocknet, func DialerWithOpts(Opts, string, string, time.Duration) (net.Conn, error)
+pkg mocknet, func ListenerWithOpts(Opts, string, string) (net.Listener, error)
+pkg mocknet, func RewriteEndpointProtocol(string, string) (naming.Endpoint, error)
+pkg mocknet, type Mode int
+pkg mocknet, type Opts struct
+pkg mocknet, type Opts struct, Mode Mode
+pkg mocknet, type Opts struct, Rx chan int
+pkg mocknet, type Opts struct, RxCloseAt int
+pkg mocknet, type Opts struct, Tx chan int
+pkg mocknet, type Opts struct, TxCloseAt int
+pkg mocknet, type Opts struct, TxDropAfter func() int
+pkg mocknet, type Opts struct, UnderlyingProtocol string
+pkg mocknet, type Opts struct, V23MessageMatcher func(bool, message.T) bool
diff --git a/profiles/internal/testing/mocks/naming/.api b/profiles/internal/testing/mocks/naming/.api
new file mode 100644
index 0000000..96a3fb6
--- /dev/null
+++ b/profiles/internal/testing/mocks/naming/.api
@@ -0,0 +1 @@
+pkg naming, func NewSimpleNamespace() namespace.T
diff --git a/profiles/internal/vtrace/.api b/profiles/internal/vtrace/.api
new file mode 100644
index 0000000..b3da14f
--- /dev/null
+++ b/profiles/internal/vtrace/.api
@@ -0,0 +1,7 @@
+pkg vtrace, func Init(*context.T, flags.VtraceFlags) (*context.T, error)
+pkg vtrace, func NewStore(flags.VtraceFlags) (*Store, error)
+pkg vtrace, method (*Store) ForceCollect(uniqueid.Id)
+pkg vtrace, method (*Store) Merge(vtrace.Response)
+pkg vtrace, method (*Store) TraceRecord(uniqueid.Id) *vtrace.TraceRecord
+pkg vtrace, method (*Store) TraceRecords() []vtrace.TraceRecord
+pkg vtrace, type Store struct
diff --git a/profiles/roaming/.api b/profiles/roaming/.api
new file mode 100644
index 0000000..df44272
--- /dev/null
+++ b/profiles/roaming/.api
@@ -0,0 +1,3 @@
+pkg roaming, const SettingsStreamName ideal-string
+pkg roaming, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
+pkg roaming, func NewProxy(*context.T, string, string, string, ...string) (func(), naming.Endpoint, error)
diff --git a/profiles/static/.api b/profiles/static/.api
new file mode 100644
index 0000000..c644a81
--- /dev/null
+++ b/profiles/static/.api
@@ -0,0 +1,2 @@
+pkg static, func Init(*context.T) (v23.Runtime, *context.T, v23.Shutdown, error)
+pkg static, func NewProxy(*context.T, string, string, string, ...string) (func(), naming.Endpoint, error)
diff --git a/services/agent/.api b/services/agent/.api
new file mode 100644
index 0000000..7b709f1
--- /dev/null
+++ b/services/agent/.api
@@ -0,0 +1,112 @@
+pkg agent, func AgentClient(string) AgentClientStub
+pkg agent, func AgentServer(AgentServerMethods) AgentServerStub
+pkg agent, method (*AgentNotifyWhenChangedServerCallStub) Init(rpc.StreamServerCall)
+pkg agent, method (*AgentNotifyWhenChangedServerCallStub) SendStream() interface {  Send(item bool) error;}
+pkg agent, type AgentClientMethods interface { AddToRoots, Bless, BlessSelf, BlessingRootsAdd, BlessingRootsDebugString, BlessingRootsRecognized, BlessingStoreDebugString, BlessingStoreDefault, BlessingStoreForPeer, BlessingStorePeerBlessings, BlessingStoreSet, BlessingStoreSetDefault, BlessingsByName, BlessingsInfo, MintDischarge, NotifyWhenChanged, PublicKey, Sign }
+pkg agent, type AgentClientMethods interface, AddToRoots(*context.T, security.Blessings, ...rpc.CallOpt) error
+pkg agent, type AgentClientMethods interface, Bless(*context.T, []byte, security.Blessings, string, security.Caveat, []security.Caveat, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessSelf(*context.T, string, []security.Caveat, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingRootsAdd(*context.T, []byte, security.BlessingPattern, ...rpc.CallOpt) error
+pkg agent, type AgentClientMethods interface, BlessingRootsDebugString(*context.T, ...rpc.CallOpt) (string, error)
+pkg agent, type AgentClientMethods interface, BlessingRootsRecognized(*context.T, []byte, string, ...rpc.CallOpt) error
+pkg agent, type AgentClientMethods interface, BlessingStoreDebugString(*context.T, ...rpc.CallOpt) (string, error)
+pkg agent, type AgentClientMethods interface, BlessingStoreDefault(*context.T, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingStoreForPeer(*context.T, []string, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingStorePeerBlessings(*context.T, ...rpc.CallOpt) (map[security.BlessingPattern]security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingStoreSet(*context.T, security.Blessings, security.BlessingPattern, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingStoreSetDefault(*context.T, security.Blessings, ...rpc.CallOpt) error
+pkg agent, type AgentClientMethods interface, BlessingsByName(*context.T, security.BlessingPattern, ...rpc.CallOpt) ([]security.Blessings, error)
+pkg agent, type AgentClientMethods interface, BlessingsInfo(*context.T, security.Blessings, ...rpc.CallOpt) (map[string][]security.Caveat, error)
+pkg agent, type AgentClientMethods interface, MintDischarge(*context.T, security.Caveat, security.Caveat, []security.Caveat, ...rpc.CallOpt) (security.Discharge, error)
+pkg agent, type AgentClientMethods interface, NotifyWhenChanged(*context.T, ...rpc.CallOpt) (AgentNotifyWhenChangedClientCall, error)
+pkg agent, type AgentClientMethods interface, PublicKey(*context.T, ...rpc.CallOpt) ([]byte, error)
+pkg agent, type AgentClientMethods interface, Sign(*context.T, []byte, ...rpc.CallOpt) (security.Signature, error)
+pkg agent, type AgentClientStub interface, AddToRoots(*context.T, security.Blessings, ...rpc.CallOpt) error
+pkg agent, type AgentClientStub interface, Bless(*context.T, []byte, security.Blessings, string, security.Caveat, []security.Caveat, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessSelf(*context.T, string, []security.Caveat, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingRootsAdd(*context.T, []byte, security.BlessingPattern, ...rpc.CallOpt) error
+pkg agent, type AgentClientStub interface, BlessingRootsDebugString(*context.T, ...rpc.CallOpt) (string, error)
+pkg agent, type AgentClientStub interface, BlessingRootsRecognized(*context.T, []byte, string, ...rpc.CallOpt) error
+pkg agent, type AgentClientStub interface, BlessingStoreDebugString(*context.T, ...rpc.CallOpt) (string, error)
+pkg agent, type AgentClientStub interface, BlessingStoreDefault(*context.T, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingStoreForPeer(*context.T, []string, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingStorePeerBlessings(*context.T, ...rpc.CallOpt) (map[security.BlessingPattern]security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingStoreSet(*context.T, security.Blessings, security.BlessingPattern, ...rpc.CallOpt) (security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingStoreSetDefault(*context.T, security.Blessings, ...rpc.CallOpt) error
+pkg agent, type AgentClientStub interface, BlessingsByName(*context.T, security.BlessingPattern, ...rpc.CallOpt) ([]security.Blessings, error)
+pkg agent, type AgentClientStub interface, BlessingsInfo(*context.T, security.Blessings, ...rpc.CallOpt) (map[string][]security.Caveat, error)
+pkg agent, type AgentClientStub interface, MintDischarge(*context.T, security.Caveat, security.Caveat, []security.Caveat, ...rpc.CallOpt) (security.Discharge, error)
+pkg agent, type AgentClientStub interface, NotifyWhenChanged(*context.T, ...rpc.CallOpt) (AgentNotifyWhenChangedClientCall, error)
+pkg agent, type AgentClientStub interface, PublicKey(*context.T, ...rpc.CallOpt) ([]byte, error)
+pkg agent, type AgentClientStub interface, Sign(*context.T, []byte, ...rpc.CallOpt) (security.Signature, error)
+pkg agent, type AgentClientStub interface, unexported methods
+pkg agent, type AgentNotifyWhenChangedClientCall interface { Finish, RecvStream }
+pkg agent, type AgentNotifyWhenChangedClientCall interface, Finish() error
+pkg agent, type AgentNotifyWhenChangedClientCall interface, RecvStream() interface {  Advance() bool;; Value() bool;; Err() error;}
+pkg agent, type AgentNotifyWhenChangedClientStream interface { RecvStream }
+pkg agent, type AgentNotifyWhenChangedClientStream interface, RecvStream() interface {  Advance() bool;; Value() bool;; Err() error;}
+pkg agent, type AgentNotifyWhenChangedServerCall interface, SendStream() interface {  Send(item bool) error;}
+pkg agent, type AgentNotifyWhenChangedServerCall interface, unexported methods
+pkg agent, type AgentNotifyWhenChangedServerCallStub struct
+pkg agent, type AgentNotifyWhenChangedServerCallStub struct, embedded rpc.StreamServerCall
+pkg agent, type AgentNotifyWhenChangedServerStream interface { SendStream }
+pkg agent, type AgentNotifyWhenChangedServerStream interface, SendStream() interface {  Send(item bool) error;}
+pkg agent, type AgentServerMethods interface { AddToRoots, Bless, BlessSelf, BlessingRootsAdd, BlessingRootsDebugString, BlessingRootsRecognized, BlessingStoreDebugString, BlessingStoreDefault, BlessingStoreForPeer, BlessingStorePeerBlessings, BlessingStoreSet, BlessingStoreSetDefault, BlessingsByName, BlessingsInfo, MintDischarge, NotifyWhenChanged, PublicKey, Sign }
+pkg agent, type AgentServerMethods interface, AddToRoots(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerMethods interface, Bless(*context.T, rpc.ServerCall, []byte, security.Blessings, string, security.Caveat, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessSelf(*context.T, rpc.ServerCall, string, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingRootsAdd(*context.T, rpc.ServerCall, []byte, security.BlessingPattern) error
+pkg agent, type AgentServerMethods interface, BlessingRootsDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerMethods interface, BlessingRootsRecognized(*context.T, rpc.ServerCall, []byte, string) error
+pkg agent, type AgentServerMethods interface, BlessingStoreDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerMethods interface, BlessingStoreDefault(*context.T, rpc.ServerCall) (security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingStoreForPeer(*context.T, rpc.ServerCall, []string) (security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingStorePeerBlessings(*context.T, rpc.ServerCall) (map[security.BlessingPattern]security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingStoreSet(*context.T, rpc.ServerCall, security.Blessings, security.BlessingPattern) (security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingStoreSetDefault(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerMethods interface, BlessingsByName(*context.T, rpc.ServerCall, security.BlessingPattern) ([]security.Blessings, error)
+pkg agent, type AgentServerMethods interface, BlessingsInfo(*context.T, rpc.ServerCall, security.Blessings) (map[string][]security.Caveat, error)
+pkg agent, type AgentServerMethods interface, MintDischarge(*context.T, rpc.ServerCall, security.Caveat, security.Caveat, []security.Caveat) (security.Discharge, error)
+pkg agent, type AgentServerMethods interface, NotifyWhenChanged(*context.T, AgentNotifyWhenChangedServerCall) error
+pkg agent, type AgentServerMethods interface, PublicKey(*context.T, rpc.ServerCall) ([]byte, error)
+pkg agent, type AgentServerMethods interface, Sign(*context.T, rpc.ServerCall, []byte) (security.Signature, error)
+pkg agent, type AgentServerStub interface { AddToRoots, Bless, BlessSelf, BlessingRootsAdd, BlessingRootsDebugString, BlessingRootsRecognized, BlessingStoreDebugString, BlessingStoreDefault, BlessingStoreForPeer, BlessingStorePeerBlessings, BlessingStoreSet, BlessingStoreSetDefault, BlessingsByName, BlessingsInfo, Describe__, MintDischarge, NotifyWhenChanged, PublicKey, Sign }
+pkg agent, type AgentServerStub interface, AddToRoots(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerStub interface, Bless(*context.T, rpc.ServerCall, []byte, security.Blessings, string, security.Caveat, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessSelf(*context.T, rpc.ServerCall, string, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingRootsAdd(*context.T, rpc.ServerCall, []byte, security.BlessingPattern) error
+pkg agent, type AgentServerStub interface, BlessingRootsDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerStub interface, BlessingRootsRecognized(*context.T, rpc.ServerCall, []byte, string) error
+pkg agent, type AgentServerStub interface, BlessingStoreDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerStub interface, BlessingStoreDefault(*context.T, rpc.ServerCall) (security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingStoreForPeer(*context.T, rpc.ServerCall, []string) (security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingStorePeerBlessings(*context.T, rpc.ServerCall) (map[security.BlessingPattern]security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingStoreSet(*context.T, rpc.ServerCall, security.Blessings, security.BlessingPattern) (security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingStoreSetDefault(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerStub interface, BlessingsByName(*context.T, rpc.ServerCall, security.BlessingPattern) ([]security.Blessings, error)
+pkg agent, type AgentServerStub interface, BlessingsInfo(*context.T, rpc.ServerCall, security.Blessings) (map[string][]security.Caveat, error)
+pkg agent, type AgentServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg agent, type AgentServerStub interface, MintDischarge(*context.T, rpc.ServerCall, security.Caveat, security.Caveat, []security.Caveat) (security.Discharge, error)
+pkg agent, type AgentServerStub interface, NotifyWhenChanged(*context.T, *AgentNotifyWhenChangedServerCallStub) error
+pkg agent, type AgentServerStub interface, PublicKey(*context.T, rpc.ServerCall) ([]byte, error)
+pkg agent, type AgentServerStub interface, Sign(*context.T, rpc.ServerCall, []byte) (security.Signature, error)
+pkg agent, type AgentServerStubMethods interface { AddToRoots, Bless, BlessSelf, BlessingRootsAdd, BlessingRootsDebugString, BlessingRootsRecognized, BlessingStoreDebugString, BlessingStoreDefault, BlessingStoreForPeer, BlessingStorePeerBlessings, BlessingStoreSet, BlessingStoreSetDefault, BlessingsByName, BlessingsInfo, MintDischarge, NotifyWhenChanged, PublicKey, Sign }
+pkg agent, type AgentServerStubMethods interface, AddToRoots(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerStubMethods interface, Bless(*context.T, rpc.ServerCall, []byte, security.Blessings, string, security.Caveat, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessSelf(*context.T, rpc.ServerCall, string, []security.Caveat) (security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingRootsAdd(*context.T, rpc.ServerCall, []byte, security.BlessingPattern) error
+pkg agent, type AgentServerStubMethods interface, BlessingRootsDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerStubMethods interface, BlessingRootsRecognized(*context.T, rpc.ServerCall, []byte, string) error
+pkg agent, type AgentServerStubMethods interface, BlessingStoreDebugString(*context.T, rpc.ServerCall) (string, error)
+pkg agent, type AgentServerStubMethods interface, BlessingStoreDefault(*context.T, rpc.ServerCall) (security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingStoreForPeer(*context.T, rpc.ServerCall, []string) (security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingStorePeerBlessings(*context.T, rpc.ServerCall) (map[security.BlessingPattern]security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingStoreSet(*context.T, rpc.ServerCall, security.Blessings, security.BlessingPattern) (security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingStoreSetDefault(*context.T, rpc.ServerCall, security.Blessings) error
+pkg agent, type AgentServerStubMethods interface, BlessingsByName(*context.T, rpc.ServerCall, security.BlessingPattern) ([]security.Blessings, error)
+pkg agent, type AgentServerStubMethods interface, BlessingsInfo(*context.T, rpc.ServerCall, security.Blessings) (map[string][]security.Caveat, error)
+pkg agent, type AgentServerStubMethods interface, MintDischarge(*context.T, rpc.ServerCall, security.Caveat, security.Caveat, []security.Caveat) (security.Discharge, error)
+pkg agent, type AgentServerStubMethods interface, NotifyWhenChanged(*context.T, *AgentNotifyWhenChangedServerCallStub) error
+pkg agent, type AgentServerStubMethods interface, PublicKey(*context.T, rpc.ServerCall) ([]byte, error)
+pkg agent, type AgentServerStubMethods interface, Sign(*context.T, rpc.ServerCall, []byte) (security.Signature, error)
+pkg agent, var AgentDesc rpc.InterfaceDesc
diff --git a/services/agent/agentd/.api b/services/agent/agentd/.api
new file mode 100644
index 0000000..2df0f8e
--- /dev/null
+++ b/services/agent/agentd/.api
@@ -0,0 +1 @@
+pkg main, func Main() int
diff --git a/services/agent/agentlib/.api b/services/agent/agentlib/.api
new file mode 100644
index 0000000..a7e75f4
--- /dev/null
+++ b/services/agent/agentlib/.api
@@ -0,0 +1,2 @@
+pkg agentlib, func AgentEndpoint(int) string
+pkg agentlib, func NewAgentPrincipal(*context.T, naming.Endpoint, rpc.Client) (security.Principal, error)
diff --git a/services/agent/internal/cache/.api b/services/agent/internal/cache/.api
new file mode 100644
index 0000000..4c2099c
--- /dev/null
+++ b/services/agent/internal/cache/.api
@@ -0,0 +1 @@
+pkg cache, func NewCachedPrincipal(*context.T, security.Principal, rpc.ClientCall) (security.Principal, error)
diff --git a/services/agent/internal/lru/.api b/services/agent/internal/lru/.api
new file mode 100644
index 0000000..e28dbeb
--- /dev/null
+++ b/services/agent/internal/lru/.api
@@ -0,0 +1,5 @@
+pkg lru, func New(int) *Cache
+pkg lru, method (*Cache) Get(string) (interface{}, bool)
+pkg lru, method (*Cache) Put(string, interface{}) (string, interface{}, bool)
+pkg lru, method (*Cache) Size() int
+pkg lru, type Cache struct
diff --git a/services/agent/internal/pingpong/.api b/services/agent/internal/pingpong/.api
new file mode 100644
index 0000000..032710e
--- /dev/null
+++ b/services/agent/internal/pingpong/.api
@@ -0,0 +1,12 @@
+pkg main, func PingPongClient(string) PingPongClientStub
+pkg main, func PingPongServer(PingPongServerMethods) PingPongServerStub
+pkg main, type PingPongClientMethods interface { Ping }
+pkg main, type PingPongClientMethods interface, Ping(*context.T, string, ...rpc.CallOpt) (string, error)
+pkg main, type PingPongClientStub interface, Ping(*context.T, string, ...rpc.CallOpt) (string, error)
+pkg main, type PingPongClientStub interface, unexported methods
+pkg main, type PingPongServerMethods interface { Ping }
+pkg main, type PingPongServerMethods interface, Ping(*context.T, rpc.ServerCall, string) (string, error)
+pkg main, type PingPongServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg main, type PingPongServerStub interface, unexported methods
+pkg main, type PingPongServerStubMethods PingPongServerMethods
+pkg main, var PingPongDesc rpc.InterfaceDesc
diff --git a/services/agent/internal/server/.api b/services/agent/internal/server/.api
new file mode 100644
index 0000000..c1fdf13
--- /dev/null
+++ b/services/agent/internal/server/.api
@@ -0,0 +1,3 @@
+pkg server, const PrincipalHandleByteSize ideal-int
+pkg server, func RunAnonymousAgent(*context.T, security.Principal, int) (*os.File, string, error)
+pkg server, func RunKeyManager(*context.T, string, []byte) (*os.File, error)
diff --git a/services/agent/internal/test_principal/.api b/services/agent/internal/test_principal/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/agent/internal/test_principal/.api
diff --git a/services/agent/internal/unixfd/.api b/services/agent/internal/unixfd/.api
new file mode 100644
index 0000000..46fafb5
--- /dev/null
+++ b/services/agent/internal/unixfd/.api
@@ -0,0 +1,6 @@
+pkg unixfd, const Network string
+pkg unixfd, func Addr(uintptr) net.Addr
+pkg unixfd, func CloseUnixAddr(net.Addr) error
+pkg unixfd, func ReadConnection(*net.UnixConn, []byte) (net.Addr, int, func(), error)
+pkg unixfd, func SendConnection(*net.UnixConn, []byte) (net.Addr, error)
+pkg unixfd, func Socketpair() (*net.UnixConn, *os.File, error)
diff --git a/services/agent/keymgr/.api b/services/agent/keymgr/.api
new file mode 100644
index 0000000..3cf64be
--- /dev/null
+++ b/services/agent/keymgr/.api
@@ -0,0 +1,5 @@
+pkg keymgr, func NewAgent() (*Agent, error)
+pkg keymgr, func NewLocalAgent(*context.T, string, []byte) (*Agent, error)
+pkg keymgr, method (*Agent) NewConnection([]byte) (*os.File, error)
+pkg keymgr, method (*Agent) NewPrincipal(*context.T, bool) ([]byte, *os.File, error)
+pkg keymgr, type Agent struct
diff --git a/services/application/application/.api b/services/application/application/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/application/application/.api
diff --git a/services/application/applicationd/.api b/services/application/applicationd/.api
new file mode 100644
index 0000000..8959856
--- /dev/null
+++ b/services/application/applicationd/.api
@@ -0,0 +1,5 @@
+pkg main, func NewApplicationService(*fs.Memstore, string, string) repository.ApplicationServerMethods
+pkg main, func NewDispatcher(string) (rpc.Dispatcher, error)
+pkg main, var ErrInvalidSuffix unknown-type
+pkg main, var ErrNotAuthorized unknown-type
+pkg main, var ErrOperationFailed unknown-type
diff --git a/services/binary/binary/.api b/services/binary/binary/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/binary/binary/.api
diff --git a/services/binary/binaryd/.api b/services/binary/binaryd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/binary/binaryd/.api
diff --git a/services/build/build/.api b/services/build/build/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/build/build/.api
diff --git a/services/build/buildd/.api b/services/build/buildd/.api
new file mode 100644
index 0000000..3af3203
--- /dev/null
+++ b/services/build/buildd/.api
@@ -0,0 +1 @@
+pkg main, func NewBuilderService(string, string) build.BuilderServerMethods
diff --git a/services/debug/debug/.api b/services/debug/debug/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/debug/debug/.api
diff --git a/services/debug/debuglib/.api b/services/debug/debuglib/.api
new file mode 100644
index 0000000..d3002d4
--- /dev/null
+++ b/services/debug/debuglib/.api
@@ -0,0 +1 @@
+pkg debuglib, func NewDispatcher(func() string, security.Authorizer) rpc.Dispatcher
diff --git a/services/device/.api b/services/device/.api
new file mode 100644
index 0000000..34fc74f
--- /dev/null
+++ b/services/device/.api
@@ -0,0 +1,12 @@
+pkg device, func ConfigClient(string) ConfigClientStub
+pkg device, func ConfigServer(ConfigServerMethods) ConfigServerStub
+pkg device, type ConfigClientMethods interface { Set }
+pkg device, type ConfigClientMethods interface, Set(*context.T, string, string, ...rpc.CallOpt) error
+pkg device, type ConfigClientStub interface, Set(*context.T, string, string, ...rpc.CallOpt) error
+pkg device, type ConfigClientStub interface, unexported methods
+pkg device, type ConfigServerMethods interface { Set }
+pkg device, type ConfigServerMethods interface, Set(*context.T, rpc.ServerCall, string, string) error
+pkg device, type ConfigServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg device, type ConfigServerStub interface, unexported methods
+pkg device, type ConfigServerStubMethods ConfigServerMethods
+pkg device, var ConfigDesc rpc.InterfaceDesc
diff --git a/services/device/device/.api b/services/device/device/.api
new file mode 100644
index 0000000..4ea8c86
--- /dev/null
+++ b/services/device/device/.api
@@ -0,0 +1,2 @@
+pkg main, func Root() *cmdline.Command
+pkg main, func SetGlobalContext(*context.T)
diff --git a/services/device/deviced/.api b/services/device/deviced/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/device/deviced/.api
diff --git a/services/device/inithelper/.api b/services/device/inithelper/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/device/inithelper/.api
diff --git a/services/device/internal/config/.api b/services/device/internal/config/.api
new file mode 100644
index 0000000..394cdc2
--- /dev/null
+++ b/services/device/internal/config/.api
@@ -0,0 +1,18 @@
+pkg config, const CurrentLinkEnv ideal-string
+pkg config, const EnvelopeEnv ideal-string
+pkg config, const HelperEnv ideal-string
+pkg config, const OriginEnv ideal-string
+pkg config, const PreviousEnv ideal-string
+pkg config, const RootEnv ideal-string
+pkg config, func Load() (*State, error)
+pkg config, func QuoteEnv([]string) []string
+pkg config, method (*State) Save(*application.Envelope) ([]string, error)
+pkg config, method (*State) Validate() error
+pkg config, type State struct
+pkg config, type State struct, CurrentLink string
+pkg config, type State struct, Envelope *application.Envelope
+pkg config, type State struct, Helper string
+pkg config, type State struct, Name string
+pkg config, type State struct, Origin string
+pkg config, type State struct, Previous string
+pkg config, type State struct, Root string
diff --git a/services/device/internal/impl/.api b/services/device/internal/impl/.api
new file mode 100644
index 0000000..859c1fb
--- /dev/null
+++ b/services/device/internal/impl/.api
@@ -0,0 +1,41 @@
+pkg impl, func CheckCompatibility(string) error
+pkg impl, func ComputeDeviceProfile() (*profile.Specification, error)
+pkg impl, func InstallFrom(string) error
+pkg impl, func InvokeCallback(*context.T, string)
+pkg impl, func NewBlessingSystemAssociationStore(string) (BlessingSystemAssociationStore, error)
+pkg impl, func NewClaimableDispatcher(*context.T, *config.State, string) (rpc.Dispatcher, <-chan struct{})
+pkg impl, func NewDispatcher(*context.T, *config.State, string, bool, func(), *pathperms.PathStore) (rpc.Dispatcher, error)
+pkg impl, func PermsDir(*config.State) string
+pkg impl, func SaveCreatorInfo(string) error
+pkg impl, func SaveManagerInfo(string, *ManagerInfo) error
+pkg impl, func SelfInstall(string, string, string, string, string, bool, bool, bool, []string, []string, io.Writer, io.Writer) error
+pkg impl, func Shutdown(rpc.Dispatcher)
+pkg impl, func Start(string, io.Writer, io.Writer) error
+pkg impl, func Stop(*context.T, string, io.Writer, io.Writer) error
+pkg impl, func Uninstall(string, string, io.Writer, io.Writer) error
+pkg impl, func VanadiumEnvironment([]string) []string
+pkg impl, type BlessingSystemAssociationStore interface { AllBlessingSystemAssociations, AssociateSystemAccountForBlessings, DisassociateSystemAccountForBlessings, SystemAccountForBlessings }
+pkg impl, type BlessingSystemAssociationStore interface, AllBlessingSystemAssociations() ([]device.Association, error)
+pkg impl, type BlessingSystemAssociationStore interface, AssociateSystemAccountForBlessings([]string, string) error
+pkg impl, type BlessingSystemAssociationStore interface, DisassociateSystemAccountForBlessings([]string) error
+pkg impl, type BlessingSystemAssociationStore interface, SystemAccountForBlessings([]string) (string, bool)
+pkg impl, type CreatorInfo struct
+pkg impl, type CreatorInfo struct, BuildInfo string
+pkg impl, type CreatorInfo struct, Version Version
+pkg impl, type ManagerInfo struct
+pkg impl, type ManagerInfo struct, Pid int
+pkg impl, type Version struct
+pkg impl, type Version struct, Major int
+pkg impl, type Version struct, Minor int
+pkg impl, var CurrentVersion Version
+pkg impl, var Describe func() (device.Description, error)
+pkg impl, var ErrAppTitleMismatch unknown-type
+pkg impl, var ErrDeviceAlreadyClaimed unknown-type
+pkg impl, var ErrInvalidBlessing unknown-type
+pkg impl, var ErrInvalidOperation unknown-type
+pkg impl, var ErrInvalidPairingToken unknown-type
+pkg impl, var ErrInvalidSuffix unknown-type
+pkg impl, var ErrOperationFailed unknown-type
+pkg impl, var ErrOperationInProgress unknown-type
+pkg impl, var ErrUnclaimedDevice unknown-type
+pkg impl, var ErrUpdateNoOp unknown-type
diff --git a/services/device/internal/starter/.api b/services/device/internal/starter/.api
new file mode 100644
index 0000000..2d792ae
--- /dev/null
+++ b/services/device/internal/starter/.api
@@ -0,0 +1,21 @@
+pkg starter, func Start(*context.T, Args) (func(), error)
+pkg starter, type Args struct
+pkg starter, type Args struct, Device DeviceArgs
+pkg starter, type Args struct, MountGlobalNamespaceInLocalNamespace bool
+pkg starter, type Args struct, Namespace NamespaceArgs
+pkg starter, type Args struct, Proxy ProxyArgs
+pkg starter, type DeviceArgs struct
+pkg starter, type DeviceArgs struct, ConfigState *config.State
+pkg starter, type DeviceArgs struct, ListenSpec rpc.ListenSpec
+pkg starter, type DeviceArgs struct, Name string
+pkg starter, type DeviceArgs struct, PairingToken string
+pkg starter, type DeviceArgs struct, RestartCallback func()
+pkg starter, type DeviceArgs struct, TestMode bool
+pkg starter, type NamespaceArgs struct
+pkg starter, type NamespaceArgs struct, ListenSpec rpc.ListenSpec
+pkg starter, type NamespaceArgs struct, Name string
+pkg starter, type NamespaceArgs struct, Neighborhood string
+pkg starter, type NamespaceArgs struct, PermissionsFile string
+pkg starter, type NamespaceArgs struct, PersistenceDir string
+pkg starter, type ProxyArgs struct
+pkg starter, type ProxyArgs struct, Port int
diff --git a/services/device/internal/suid/.api b/services/device/internal/suid/.api
new file mode 100644
index 0000000..f18464d
--- /dev/null
+++ b/services/device/internal/suid/.api
@@ -0,0 +1,14 @@
+pkg suid, const PipeToParentFD ideal-int
+pkg suid, const SavedArgs ideal-string
+pkg suid, func Run([]string) error
+pkg suid, method (*WorkParameters) Chown() error
+pkg suid, method (*WorkParameters) Exec() error
+pkg suid, method (*WorkParameters) Kill() error
+pkg suid, method (*WorkParameters) ProcessArguments(*flag.FlagSet, []string) error
+pkg suid, method (*WorkParameters) Remove() error
+pkg suid, type ArgsSavedForTest struct
+pkg suid, type ArgsSavedForTest struct, LogDir string
+pkg suid, type ArgsSavedForTest struct, Run string
+pkg suid, type ArgsSavedForTest struct, Uname string
+pkg suid, type ArgsSavedForTest struct, Workpace string
+pkg suid, type WorkParameters struct
diff --git a/services/device/internal/sysinit/.api b/services/device/internal/sysinit/.api
new file mode 100644
index 0000000..3453948
--- /dev/null
+++ b/services/device/internal/sysinit/.api
@@ -0,0 +1,35 @@
+pkg sysinit, func InitSystem() string
+pkg sysinit, func New(string, *ServiceDescription) InstallSystemInit
+pkg sysinit, method (*DockerService) Install() error
+pkg sysinit, method (*DockerService) Print() error
+pkg sysinit, method (*DockerService) Start() error
+pkg sysinit, method (*DockerService) Stop() error
+pkg sysinit, method (*DockerService) Uninstall() error
+pkg sysinit, method (*ServiceDescription) LoadFrom(string) error
+pkg sysinit, method (*ServiceDescription) SaveTo(string) error
+pkg sysinit, method (*SystemdService) Install() error
+pkg sysinit, method (*SystemdService) Print() error
+pkg sysinit, method (*SystemdService) Start() error
+pkg sysinit, method (*SystemdService) Stop() error
+pkg sysinit, method (*SystemdService) Uninstall() error
+pkg sysinit, method (*UpstartService) Install() error
+pkg sysinit, method (*UpstartService) Print() error
+pkg sysinit, method (*UpstartService) Start() error
+pkg sysinit, method (*UpstartService) Stop() error
+pkg sysinit, method (*UpstartService) Uninstall() error
+pkg sysinit, type DockerService ServiceDescription
+pkg sysinit, type InstallSystemInit interface { Install, Print, Start, Stop, Uninstall }
+pkg sysinit, type InstallSystemInit interface, Install() error
+pkg sysinit, type InstallSystemInit interface, Print() error
+pkg sysinit, type InstallSystemInit interface, Start() error
+pkg sysinit, type InstallSystemInit interface, Stop() error
+pkg sysinit, type InstallSystemInit interface, Uninstall() error
+pkg sysinit, type ServiceDescription struct
+pkg sysinit, type ServiceDescription struct, Binary string
+pkg sysinit, type ServiceDescription struct, Command []string
+pkg sysinit, type ServiceDescription struct, Description string
+pkg sysinit, type ServiceDescription struct, Environment map[string]string
+pkg sysinit, type ServiceDescription struct, Service string
+pkg sysinit, type ServiceDescription struct, User string
+pkg sysinit, type SystemdService ServiceDescription
+pkg sysinit, type UpstartService ServiceDescription
diff --git a/services/device/suidhelper/.api b/services/device/suidhelper/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/device/suidhelper/.api
diff --git a/services/discharger/.api b/services/discharger/.api
new file mode 100644
index 0000000..6cfe4dd
--- /dev/null
+++ b/services/discharger/.api
@@ -0,0 +1,14 @@
+pkg discharger, func DischargerClient(string) DischargerClientStub
+pkg discharger, func DischargerServer(DischargerServerMethods) DischargerServerStub
+pkg discharger, func NewErrNotAThirdPartyCaveat(*context.T, security.Caveat) error
+pkg discharger, type DischargerClientMethods interface { Discharge }
+pkg discharger, type DischargerClientMethods interface, Discharge(*context.T, security.Caveat, security.DischargeImpetus, ...rpc.CallOpt) (security.Discharge, error)
+pkg discharger, type DischargerClientStub interface, Discharge(*context.T, security.Caveat, security.DischargeImpetus, ...rpc.CallOpt) (security.Discharge, error)
+pkg discharger, type DischargerClientStub interface, unexported methods
+pkg discharger, type DischargerServerMethods interface { Discharge }
+pkg discharger, type DischargerServerMethods interface, Discharge(*context.T, rpc.ServerCall, security.Caveat, security.DischargeImpetus) (security.Discharge, error)
+pkg discharger, type DischargerServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg discharger, type DischargerServerStub interface, unexported methods
+pkg discharger, type DischargerServerStubMethods DischargerServerMethods
+pkg discharger, var DischargerDesc rpc.InterfaceDesc
+pkg discharger, var ErrNotAThirdPartyCaveat unknown-type
diff --git a/services/identity/.api b/services/identity/.api
new file mode 100644
index 0000000..b0fa96f
--- /dev/null
+++ b/services/identity/.api
@@ -0,0 +1,28 @@
+pkg identity, const SeekBlessingsRoute unknown-type
+pkg identity, func MacaroonBlesserClient(string) MacaroonBlesserClientStub
+pkg identity, func MacaroonBlesserServer(MacaroonBlesserServerMethods) MacaroonBlesserServerStub
+pkg identity, func OAuthBlesserClient(string) OAuthBlesserClientStub
+pkg identity, func OAuthBlesserServer(OAuthBlesserServerMethods) OAuthBlesserServerStub
+pkg identity, type BlessingRootResponse struct
+pkg identity, type BlessingRootResponse struct, Names []string
+pkg identity, type BlessingRootResponse struct, PublicKey string
+pkg identity, type MacaroonBlesserClientMethods interface { Bless }
+pkg identity, type MacaroonBlesserClientMethods interface, Bless(*context.T, string, ...rpc.CallOpt) (security.Blessings, error)
+pkg identity, type MacaroonBlesserClientStub interface, Bless(*context.T, string, ...rpc.CallOpt) (security.Blessings, error)
+pkg identity, type MacaroonBlesserClientStub interface, unexported methods
+pkg identity, type MacaroonBlesserServerMethods interface { Bless }
+pkg identity, type MacaroonBlesserServerMethods interface, Bless(*context.T, rpc.ServerCall, string) (security.Blessings, error)
+pkg identity, type MacaroonBlesserServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg identity, type MacaroonBlesserServerStub interface, unexported methods
+pkg identity, type MacaroonBlesserServerStubMethods MacaroonBlesserServerMethods
+pkg identity, type OAuthBlesserClientMethods interface { BlessUsingAccessToken }
+pkg identity, type OAuthBlesserClientMethods interface, BlessUsingAccessToken(*context.T, string, ...rpc.CallOpt) (security.Blessings, string, error)
+pkg identity, type OAuthBlesserClientStub interface, BlessUsingAccessToken(*context.T, string, ...rpc.CallOpt) (security.Blessings, string, error)
+pkg identity, type OAuthBlesserClientStub interface, unexported methods
+pkg identity, type OAuthBlesserServerMethods interface { BlessUsingAccessToken }
+pkg identity, type OAuthBlesserServerMethods interface, BlessUsingAccessToken(*context.T, rpc.ServerCall, string) (security.Blessings, string, error)
+pkg identity, type OAuthBlesserServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg identity, type OAuthBlesserServerStub interface, unexported methods
+pkg identity, type OAuthBlesserServerStubMethods OAuthBlesserServerMethods
+pkg identity, var MacaroonBlesserDesc rpc.InterfaceDesc
+pkg identity, var OAuthBlesserDesc rpc.InterfaceDesc
diff --git a/services/identity/identityd/.api b/services/identity/identityd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/identity/identityd/.api
diff --git a/services/identity/identitylib/.api b/services/identity/identitylib/.api
new file mode 100644
index 0000000..a796d96
--- /dev/null
+++ b/services/identity/identitylib/.api
@@ -0,0 +1 @@
+pkg identitylib, const TestIdentitydCommand ideal-string
diff --git a/services/identity/internal/auditor/.api b/services/identity/internal/auditor/.api
new file mode 100644
index 0000000..fa70f7d
--- /dev/null
+++ b/services/identity/internal/auditor/.api
@@ -0,0 +1,11 @@
+pkg auditor, func NewMockBlessingAuditor() (audit.Auditor, BlessingLogReader)
+pkg auditor, func NewSQLBlessingAuditor(*sql.DB) (audit.Auditor, BlessingLogReader, error)
+pkg auditor, type BlessingEntry struct
+pkg auditor, type BlessingEntry struct, Blessings security.Blessings
+pkg auditor, type BlessingEntry struct, Caveats []security.Caveat
+pkg auditor, type BlessingEntry struct, DecodeError error
+pkg auditor, type BlessingEntry struct, Email string
+pkg auditor, type BlessingEntry struct, RevocationCaveatID string
+pkg auditor, type BlessingEntry struct, Timestamp time.Time
+pkg auditor, type BlessingLogReader interface { Read }
+pkg auditor, type BlessingLogReader interface, Read(string) <-chan BlessingEntry
diff --git a/services/identity/internal/blesser/.api b/services/identity/internal/blesser/.api
new file mode 100644
index 0000000..64ceaf8
--- /dev/null
+++ b/services/identity/internal/blesser/.api
@@ -0,0 +1,9 @@
+pkg blesser, func NewMacaroonBlesserServer([]byte) identity.MacaroonBlesserServerStub
+pkg blesser, func NewOAuthBlesserServer(OAuthBlesserParams) identity.OAuthBlesserServerStub
+pkg blesser, type OAuthBlesserParams struct
+pkg blesser, type OAuthBlesserParams struct, AccessTokenClients []oauth.AccessTokenClient
+pkg blesser, type OAuthBlesserParams struct, BlessingDuration time.Duration
+pkg blesser, type OAuthBlesserParams struct, DischargerLocation string
+pkg blesser, type OAuthBlesserParams struct, EmailClassifier *util.EmailClassifier
+pkg blesser, type OAuthBlesserParams struct, OAuthProvider oauth.OAuthProvider
+pkg blesser, type OAuthBlesserParams struct, RevocationManager revocation.RevocationManager
diff --git a/services/identity/internal/caveats/.api b/services/identity/internal/caveats/.api
new file mode 100644
index 0000000..874b89b
--- /dev/null
+++ b/services/identity/internal/caveats/.api
@@ -0,0 +1,11 @@
+pkg caveats, func NewBrowserCaveatSelector(string, string) CaveatSelector
+pkg caveats, func NewCaveatFactory() CaveatFactory
+pkg caveats, func NewMockCaveatSelector() CaveatSelector
+pkg caveats, type CaveatFactory interface { New }
+pkg caveats, type CaveatFactory interface, New(CaveatInfo) (security.Caveat, error)
+pkg caveats, type CaveatInfo struct
+pkg caveats, type CaveatInfo struct, Args []interface{}
+pkg caveats, type CaveatInfo struct, Type string
+pkg caveats, type CaveatSelector interface { ParseSelections, Render }
+pkg caveats, type CaveatSelector interface, ParseSelections(*http.Request) ([]CaveatInfo, string, string, error)
+pkg caveats, type CaveatSelector interface, Render(string, string, string, http.ResponseWriter, *http.Request) error
diff --git a/services/identity/internal/dischargerlib/.api b/services/identity/internal/dischargerlib/.api
new file mode 100644
index 0000000..bc87a22
--- /dev/null
+++ b/services/identity/internal/dischargerlib/.api
@@ -0,0 +1 @@
+pkg dischargerlib, func NewDischarger() discharger.DischargerServerMethods
diff --git a/services/identity/internal/handlers/.api b/services/identity/internal/handlers/.api
new file mode 100644
index 0000000..d89de83
--- /dev/null
+++ b/services/identity/internal/handlers/.api
@@ -0,0 +1,3 @@
+pkg handlers, method (BlessingRoot) ServeHTTP(http.ResponseWriter, *http.Request)
+pkg handlers, type BlessingRoot struct
+pkg handlers, type BlessingRoot struct, P security.Principal
diff --git a/services/identity/internal/identityd_test/.api b/services/identity/internal/identityd_test/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/identity/internal/identityd_test/.api
diff --git a/services/identity/internal/oauth/.api b/services/identity/internal/oauth/.api
new file mode 100644
index 0000000..ec6cf46
--- /dev/null
+++ b/services/identity/internal/oauth/.api
@@ -0,0 +1,35 @@
+pkg oauth, const ExplicitApproval AuthURLApproval
+pkg oauth, const ListBlessingsRoute ideal-string
+pkg oauth, const MockClient ideal-string
+pkg oauth, const MockEmail ideal-string
+pkg oauth, const ReuseApproval AuthURLApproval
+pkg oauth, const SeekBlessingsRoute ideal-string
+pkg oauth, func ClientIDAndSecretFromJSON(io.Reader) (string, string, error)
+pkg oauth, func ClientIDFromJSON(io.Reader) (string, error)
+pkg oauth, func NewGoogleOAuth(string) (OAuthProvider, error)
+pkg oauth, func NewHandler(HandlerArgs) (http.Handler, error)
+pkg oauth, func NewMockOAuth() OAuthProvider
+pkg oauth, type AccessTokenClient struct
+pkg oauth, type AccessTokenClient struct, ClientID string
+pkg oauth, type AccessTokenClient struct, Name string
+pkg oauth, type AuthURLApproval bool
+pkg oauth, type BlessingMacaroon struct
+pkg oauth, type BlessingMacaroon struct, Caveats []security.Caveat
+pkg oauth, type BlessingMacaroon struct, Creation time.Time
+pkg oauth, type BlessingMacaroon struct, Name string
+pkg oauth, type HandlerArgs struct
+pkg oauth, type HandlerArgs struct, Addr string
+pkg oauth, type HandlerArgs struct, AssetsPrefix string
+pkg oauth, type HandlerArgs struct, BlessingLogReader auditor.BlessingLogReader
+pkg oauth, type HandlerArgs struct, CaveatSelector caveats.CaveatSelector
+pkg oauth, type HandlerArgs struct, DischargerLocation string
+pkg oauth, type HandlerArgs struct, EmailClassifier *util.EmailClassifier
+pkg oauth, type HandlerArgs struct, MacaroonBlessingService string
+pkg oauth, type HandlerArgs struct, MacaroonKey []byte
+pkg oauth, type HandlerArgs struct, OAuthProvider OAuthProvider
+pkg oauth, type HandlerArgs struct, Principal security.Principal
+pkg oauth, type HandlerArgs struct, RevocationManager revocation.RevocationManager
+pkg oauth, type OAuthProvider interface { AuthURL, ExchangeAuthCodeForEmail, GetEmailAndClientName }
+pkg oauth, type OAuthProvider interface, AuthURL(string, string, AuthURLApproval) string
+pkg oauth, type OAuthProvider interface, ExchangeAuthCodeForEmail(string, string) (string, error)
+pkg oauth, type OAuthProvider interface, GetEmailAndClientName(string, []AccessTokenClient) (string, string, error)
diff --git a/services/identity/internal/revocation/.api b/services/identity/internal/revocation/.api
new file mode 100644
index 0000000..c466140
--- /dev/null
+++ b/services/identity/internal/revocation/.api
@@ -0,0 +1,7 @@
+pkg revocation, func NewMockRevocationManager() RevocationManager
+pkg revocation, func NewRevocationManager(*sql.DB) (RevocationManager, error)
+pkg revocation, type RevocationManager interface { GetRevocationTime, NewCaveat, Revoke }
+pkg revocation, type RevocationManager interface, GetRevocationTime(string) *time.Time
+pkg revocation, type RevocationManager interface, NewCaveat(security.PublicKey, string) (security.Caveat, error)
+pkg revocation, type RevocationManager interface, Revoke(string) error
+pkg revocation, var NotRevokedCaveat security.CaveatDescriptor
diff --git a/services/identity/internal/server/.api b/services/identity/internal/server/.api
new file mode 100644
index 0000000..834f7a4
--- /dev/null
+++ b/services/identity/internal/server/.api
@@ -0,0 +1,4 @@
+pkg server, func NewIdentityServer(oauth.OAuthProvider, audit.Auditor, auditor.BlessingLogReader, revocation.RevocationManager, blesser.OAuthBlesserParams, caveats.CaveatSelector, *util.EmailClassifier, string, string) *IdentityServer
+pkg server, method (*IdentityServer) Listen(*context.T, *rpc.ListenSpec, string, string, string) (rpc.Server, []string, string)
+pkg server, method (*IdentityServer) Serve(*context.T, *rpc.ListenSpec, string, string, string)
+pkg server, type IdentityServer struct
diff --git a/services/identity/internal/templates/.api b/services/identity/internal/templates/.api
new file mode 100644
index 0000000..71f1dd1
--- /dev/null
+++ b/services/identity/internal/templates/.api
@@ -0,0 +1,3 @@
+pkg templates, var Home *template.Template
+pkg templates, var ListBlessings *template.Template
+pkg templates, var SelectCaveats *template.Template
diff --git a/services/identity/internal/util/.api b/services/identity/internal/util/.api
new file mode 100644
index 0000000..9de7ccd
--- /dev/null
+++ b/services/identity/internal/util/.api
@@ -0,0 +1,17 @@
+pkg util, func HTTPBadRequest(http.ResponseWriter, *http.Request, error)
+pkg util, func HTTPServerError(http.ResponseWriter, error)
+pkg util, func NewCSRFCop() (*CSRFCop, error)
+pkg util, func NewMacaroon([]byte, []byte) Macaroon
+pkg util, func RootCertificateDetails(security.Blessings) (string, []byte, error)
+pkg util, func WriteCertAndKey(string, time.Duration) (string, string, error)
+pkg util, method (*CSRFCop) MaybeSetCookie(http.ResponseWriter, *http.Request, string) ([]byte, error)
+pkg util, method (*CSRFCop) NewToken(http.ResponseWriter, *http.Request, string, interface{}) (string, error)
+pkg util, method (*CSRFCop) ValidateToken(string, *http.Request, string, interface{}) error
+pkg util, method (*EmailClassifier) Classify(string) string
+pkg util, method (*EmailClassifier) Get() interface{}
+pkg util, method (*EmailClassifier) Set(string) error
+pkg util, method (*EmailClassifier) String() string
+pkg util, method (Macaroon) Decode([]byte) ([]byte, error)
+pkg util, type CSRFCop struct
+pkg util, type EmailClassifier struct
+pkg util, type Macaroon string
diff --git a/services/internal/binarylib/.api b/services/internal/binarylib/.api
new file mode 100644
index 0000000..9322764
--- /dev/null
+++ b/services/internal/binarylib/.api
@@ -0,0 +1,20 @@
+pkg binarylib, const BufferLength ideal-int
+pkg binarylib, const Version ideal-string
+pkg binarylib, const VersionFile ideal-string
+pkg binarylib, func Delete(*context.T, string) error
+pkg binarylib, func Download(*context.T, string) ([]byte, repository.MediaInfo, error)
+pkg binarylib, func DownloadToFile(*context.T, string, string) error
+pkg binarylib, func DownloadUrl(*context.T, string) (string, int64, error)
+pkg binarylib, func NewDispatcher(security.Principal, *state) (rpc.Dispatcher, error)
+pkg binarylib, func NewHTTPRoot(*state) http.FileSystem
+pkg binarylib, func NewState(string, string, int) (*state, error)
+pkg binarylib, func SetupRootDir(string) (string, error)
+pkg binarylib, func Upload(*context.T, string, []byte, repository.MediaInfo) (*security.Signature, error)
+pkg binarylib, func UploadFromDir(*context.T, string, string) (*security.Signature, error)
+pkg binarylib, func UploadFromFile(*context.T, string, string) (*security.Signature, error)
+pkg binarylib, var ErrInProgress unknown-type
+pkg binarylib, var ErrInvalidPart unknown-type
+pkg binarylib, var ErrInvalidParts unknown-type
+pkg binarylib, var ErrNotAuthorized unknown-type
+pkg binarylib, var ErrOperationFailed unknown-type
+pkg binarylib, var MissingPart binary.PartInfo
diff --git a/services/internal/fs/.api b/services/internal/fs/.api
new file mode 100644
index 0000000..995b1d2
--- /dev/null
+++ b/services/internal/fs/.api
@@ -0,0 +1,24 @@
+pkg fs, func NewMemstore(string) (*Memstore, error)
+pkg fs, method (*Memstore) Abort(interface{}) error
+pkg fs, method (*Memstore) BindObject(string) *boundObject
+pkg fs, method (*Memstore) BindTransaction(string) Transaction
+pkg fs, method (*Memstore) BindTransactionRoot(string) Transaction
+pkg fs, method (*Memstore) Commit(interface{}) error
+pkg fs, method (*Memstore) CreateTransaction(interface{}) (string, error)
+pkg fs, method (*Memstore) Lock()
+pkg fs, method (*Memstore) Unlock()
+pkg fs, type Memstore struct
+pkg fs, type Memstore struct, embedded sync.Mutex
+pkg fs, type MemstoreObject interface { Exists, Remove }
+pkg fs, type MemstoreObject interface, Exists(interface{}) (bool, error)
+pkg fs, type MemstoreObject interface, Remove(interface{}) error
+pkg fs, type Transaction interface { Commit, CreateTransaction }
+pkg fs, type Transaction interface, Commit(interface{}) error
+pkg fs, type Transaction interface, CreateTransaction(interface{}) (string, error)
+pkg fs, var ErrAbortWithoutTransaction unknown-type
+pkg fs, var ErrChildrenWithoutLock unknown-type
+pkg fs, var ErrDoubleCommit unknown-type
+pkg fs, var ErrNoRecursiveCreateTransaction unknown-type
+pkg fs, var ErrNotInMemStore unknown-type
+pkg fs, var ErrUnsupportedType unknown-type
+pkg fs, var ErrWithoutTransaction unknown-type
diff --git a/services/internal/logreaderlib/.api b/services/internal/logreaderlib/.api
new file mode 100644
index 0000000..0051687
--- /dev/null
+++ b/services/internal/logreaderlib/.api
@@ -0,0 +1 @@
+pkg logreaderlib, func NewLogFileService(string, string) interface{}
diff --git a/services/internal/multipart/.api b/services/internal/multipart/.api
new file mode 100644
index 0000000..cd0b2b9
--- /dev/null
+++ b/services/internal/multipart/.api
@@ -0,0 +1 @@
+pkg multipart, func NewFile(string, []*os.File) (http.File, error)
diff --git a/services/internal/packages/.api b/services/internal/packages/.api
new file mode 100644
index 0000000..a83774d
--- /dev/null
+++ b/services/internal/packages/.api
@@ -0,0 +1,5 @@
+pkg packages, func CreateZip(string, string) error
+pkg packages, func Install(string, string) error
+pkg packages, func LoadMediaInfo(string) (repository.MediaInfo, error)
+pkg packages, func MediaInfoForFileName(string) repository.MediaInfo
+pkg packages, func SaveMediaInfo(string, repository.MediaInfo) error
diff --git a/services/internal/pathperms/.api b/services/internal/pathperms/.api
new file mode 100644
index 0000000..0ff4ab4
--- /dev/null
+++ b/services/internal/pathperms/.api
@@ -0,0 +1,14 @@
+pkg pathperms, func ComputeVersion(access.Permissions) (string, error)
+pkg pathperms, func NewHierarchicalAuthorizer(string, string, PermsGetter) (security.Authorizer, error)
+pkg pathperms, func NewPathStore(security.Principal) *PathStore
+pkg pathperms, func NilAuthPermissions(*context.T, security.Call) access.Permissions
+pkg pathperms, func PermissionsForBlessings([]string) access.Permissions
+pkg pathperms, func PrefixPatterns([]string) []security.BlessingPattern
+pkg pathperms, method (PathStore) Get(string) (access.Permissions, string, error)
+pkg pathperms, method (PathStore) PermsForPath(string) (access.Permissions, bool, error)
+pkg pathperms, method (PathStore) Set(string, access.Permissions, string) error
+pkg pathperms, method (PathStore) SetShareable(string, access.Permissions, string, bool) error
+pkg pathperms, type PathStore struct
+pkg pathperms, type PermsGetter interface { PermsForPath }
+pkg pathperms, type PermsGetter interface, PermsForPath(string) (access.Permissions, bool, error)
+pkg pathperms, var ErrOperationFailed unknown-type
diff --git a/services/internal/pproflib/.api b/services/internal/pproflib/.api
new file mode 100644
index 0000000..af095d0
--- /dev/null
+++ b/services/internal/pproflib/.api
@@ -0,0 +1,2 @@
+pkg pproflib, func NewPProfService() interface{}
+pkg pproflib, func StartProxy(*context.T, string) (net.Listener, error)
diff --git a/services/internal/servicetest/.api b/services/internal/servicetest/.api
new file mode 100644
index 0000000..74a02ff
--- /dev/null
+++ b/services/internal/servicetest/.api
@@ -0,0 +1,6 @@
+pkg servicetest, const ExpectTimeout time.Duration
+pkg servicetest, func CreateShellAndMountTable(*testing.T, *context.T, security.Principal) (*modules.Shell, func())
+pkg servicetest, func NewServer(*context.T) (rpc.Server, string)
+pkg servicetest, func ReadPID(*testing.T, modules.ExpectSession) int
+pkg servicetest, func RunCommand(*testing.T, *modules.Shell, []string, string, ...string) modules.Handle
+pkg servicetest, func SetupRootDir(*testing.T, string) (string, func())
diff --git a/services/internal/statslib/.api b/services/internal/statslib/.api
new file mode 100644
index 0000000..b898564
--- /dev/null
+++ b/services/internal/statslib/.api
@@ -0,0 +1 @@
+pkg statslib, func NewStatsService(string, time.Duration) interface{}
diff --git a/services/internal/vtracelib/.api b/services/internal/vtracelib/.api
new file mode 100644
index 0000000..75fd45e
--- /dev/null
+++ b/services/internal/vtracelib/.api
@@ -0,0 +1 @@
+pkg vtracelib, func NewVtraceService() interface{}
diff --git a/services/mounttable/mounttabled/.api b/services/mounttable/mounttabled/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/mounttable/mounttabled/.api
diff --git a/services/mounttable/mounttablelib/.api b/services/mounttable/mounttablelib/.api
new file mode 100644
index 0000000..79958f0
--- /dev/null
+++ b/services/mounttable/mounttablelib/.api
@@ -0,0 +1,28 @@
+pkg mounttablelib, func CollectionClient(string) CollectionClientStub
+pkg mounttablelib, func CollectionServer(CollectionServerMethods) CollectionServerStub
+pkg mounttablelib, func NewLoopbackNeighborhoodDispatcher(string, ...string) (rpc.Dispatcher, error)
+pkg mounttablelib, func NewMountTableDispatcher(string, string, string) (rpc.Dispatcher, error)
+pkg mounttablelib, func NewNeighborhoodDispatcher(string, ...string) (rpc.Dispatcher, error)
+pkg mounttablelib, func NewVersionedPermissions() *VersionedPermissions
+pkg mounttablelib, func StartServers(*context.T, rpc.ListenSpec, string, string, string, string, string) (string, func(), error)
+pkg mounttablelib, method (*VersionedPermissions) AccessListForTag(string) (access.AccessList, bool)
+pkg mounttablelib, method (*VersionedPermissions) Add(security.BlessingPattern, string)
+pkg mounttablelib, method (*VersionedPermissions) Copy() *VersionedPermissions
+pkg mounttablelib, method (*VersionedPermissions) Get() (string, access.Permissions)
+pkg mounttablelib, method (*VersionedPermissions) Set(*context.T, string, access.Permissions) (*VersionedPermissions, error)
+pkg mounttablelib, type CollectionClientMethods interface { Export, Lookup }
+pkg mounttablelib, type CollectionClientMethods interface, Export(*context.T, string, bool, ...rpc.CallOpt) error
+pkg mounttablelib, type CollectionClientMethods interface, Lookup(*context.T, ...rpc.CallOpt) ([]byte, error)
+pkg mounttablelib, type CollectionClientStub interface, Export(*context.T, string, bool, ...rpc.CallOpt) error
+pkg mounttablelib, type CollectionClientStub interface, Lookup(*context.T, ...rpc.CallOpt) ([]byte, error)
+pkg mounttablelib, type CollectionClientStub interface, unexported methods
+pkg mounttablelib, type CollectionServerMethods interface { Export, Lookup }
+pkg mounttablelib, type CollectionServerMethods interface, Export(*context.T, rpc.ServerCall, string, bool) error
+pkg mounttablelib, type CollectionServerMethods interface, Lookup(*context.T, rpc.ServerCall) ([]byte, error)
+pkg mounttablelib, type CollectionServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg mounttablelib, type CollectionServerStub interface, unexported methods
+pkg mounttablelib, type CollectionServerStubMethods CollectionServerMethods
+pkg mounttablelib, type VersionedPermissions struct
+pkg mounttablelib, type VersionedPermissions struct, P access.Permissions
+pkg mounttablelib, type VersionedPermissions struct, V int32
+pkg mounttablelib, var CollectionDesc rpc.InterfaceDesc
diff --git a/services/profile/.api b/services/profile/.api
new file mode 100644
index 0000000..6d995aa
--- /dev/null
+++ b/services/profile/.api
@@ -0,0 +1,11 @@
+pkg profile, type Library struct
+pkg profile, type Library struct, MajorVersion string
+pkg profile, type Library struct, MinorVersion string
+pkg profile, type Library struct, Name string
+pkg profile, type Specification struct
+pkg profile, type Specification struct, Arch build.Architecture
+pkg profile, type Specification struct, Description string
+pkg profile, type Specification struct, Format build.Format
+pkg profile, type Specification struct, Label string
+pkg profile, type Specification struct, Libraries map[Library]struct{}
+pkg profile, type Specification struct, Os build.OperatingSystem
diff --git a/services/profile/profile/.api b/services/profile/profile/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/profile/profile/.api
diff --git a/services/profile/profiled/.api b/services/profile/profiled/.api
new file mode 100644
index 0000000..4c50ab7
--- /dev/null
+++ b/services/profile/profiled/.api
@@ -0,0 +1,2 @@
+pkg main, func NewDispatcher(string, security.Authorizer) (rpc.Dispatcher, error)
+pkg main, func NewProfileService(*fs.Memstore, string, string) repository.ProfileServerMethods
diff --git a/services/proxy/proxyd/.api b/services/proxy/proxyd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/proxy/proxyd/.api
diff --git a/services/repository/.api b/services/repository/.api
new file mode 100644
index 0000000..4ca1e1f
--- /dev/null
+++ b/services/repository/.api
@@ -0,0 +1,33 @@
+pkg repository, func ApplicationClient(string) ApplicationClientStub
+pkg repository, func ApplicationServer(ApplicationServerMethods) ApplicationServerStub
+pkg repository, func ProfileClient(string) ProfileClientStub
+pkg repository, func ProfileServer(ProfileServerMethods) ProfileServerStub
+pkg repository, type ApplicationClientMethods interface, Put(*context.T, []string, application.Envelope, ...rpc.CallOpt) error
+pkg repository, type ApplicationClientMethods interface, Remove(*context.T, string, ...rpc.CallOpt) error
+pkg repository, type ApplicationClientMethods interface, unexported methods
+pkg repository, type ApplicationClientStub interface, Put(*context.T, []string, application.Envelope, ...rpc.CallOpt) error
+pkg repository, type ApplicationClientStub interface, Remove(*context.T, string, ...rpc.CallOpt) error
+pkg repository, type ApplicationClientStub interface, unexported methods
+pkg repository, type ApplicationServerMethods interface, Put(*context.T, rpc.ServerCall, []string, application.Envelope) error
+pkg repository, type ApplicationServerMethods interface, Remove(*context.T, rpc.ServerCall, string) error
+pkg repository, type ApplicationServerMethods interface, unexported methods
+pkg repository, type ApplicationServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg repository, type ApplicationServerStub interface, unexported methods
+pkg repository, type ApplicationServerStubMethods ApplicationServerMethods
+pkg repository, type ProfileClientMethods interface, Put(*context.T, profile.Specification, ...rpc.CallOpt) error
+pkg repository, type ProfileClientMethods interface, Remove(*context.T, ...rpc.CallOpt) error
+pkg repository, type ProfileClientMethods interface, Specification(*context.T, ...rpc.CallOpt) (profile.Specification, error)
+pkg repository, type ProfileClientMethods interface, unexported methods
+pkg repository, type ProfileClientStub interface, Put(*context.T, profile.Specification, ...rpc.CallOpt) error
+pkg repository, type ProfileClientStub interface, Remove(*context.T, ...rpc.CallOpt) error
+pkg repository, type ProfileClientStub interface, Specification(*context.T, ...rpc.CallOpt) (profile.Specification, error)
+pkg repository, type ProfileClientStub interface, unexported methods
+pkg repository, type ProfileServerMethods interface, Put(*context.T, rpc.ServerCall, profile.Specification) error
+pkg repository, type ProfileServerMethods interface, Remove(*context.T, rpc.ServerCall) error
+pkg repository, type ProfileServerMethods interface, Specification(*context.T, rpc.ServerCall) (profile.Specification, error)
+pkg repository, type ProfileServerMethods interface, unexported methods
+pkg repository, type ProfileServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg repository, type ProfileServerStub interface, unexported methods
+pkg repository, type ProfileServerStubMethods ProfileServerMethods
+pkg repository, var ApplicationDesc rpc.InterfaceDesc
+pkg repository, var ProfileDesc rpc.InterfaceDesc
diff --git a/services/role/.api b/services/role/.api
new file mode 100644
index 0000000..fb230c1
--- /dev/null
+++ b/services/role/.api
@@ -0,0 +1,13 @@
+pkg role, const RoleSuffix ideal-string
+pkg role, func RoleClient(string) RoleClientStub
+pkg role, func RoleServer(RoleServerMethods) RoleServerStub
+pkg role, type RoleClientMethods interface { SeekBlessings }
+pkg role, type RoleClientMethods interface, SeekBlessings(*context.T, ...rpc.CallOpt) (security.Blessings, error)
+pkg role, type RoleClientStub interface, SeekBlessings(*context.T, ...rpc.CallOpt) (security.Blessings, error)
+pkg role, type RoleClientStub interface, unexported methods
+pkg role, type RoleServerMethods interface { SeekBlessings }
+pkg role, type RoleServerMethods interface, SeekBlessings(*context.T, rpc.ServerCall) (security.Blessings, error)
+pkg role, type RoleServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg role, type RoleServerStub interface, unexported methods
+pkg role, type RoleServerStubMethods RoleServerMethods
+pkg role, var RoleDesc rpc.InterfaceDesc
diff --git a/services/role/roled/.api b/services/role/roled/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/role/roled/.api
diff --git a/services/role/roled/internal/.api b/services/role/roled/internal/.api
new file mode 100644
index 0000000..43a97bb
--- /dev/null
+++ b/services/role/roled/internal/.api
@@ -0,0 +1,9 @@
+pkg internal, func NewDispatcher(string, string) rpc.Dispatcher
+pkg internal, type Config struct
+pkg internal, type Config struct, Audit bool
+pkg internal, type Config struct, Expiry string
+pkg internal, type Config struct, Extend bool
+pkg internal, type Config struct, ImportMembers []string
+pkg internal, type Config struct, Members []security.BlessingPattern
+pkg internal, type Config struct, Peers []security.BlessingPattern
+pkg internal, var LoggingCaveat security.CaveatDescriptor
diff --git a/services/stats/.api b/services/stats/.api
new file mode 100644
index 0000000..fd8288f
--- /dev/null
+++ b/services/stats/.api
@@ -0,0 +1,11 @@
+pkg stats, method (HistogramValue) Print(io.Writer)
+pkg stats, method (HistogramValue) String() string
+pkg stats, type HistogramBucket struct
+pkg stats, type HistogramBucket struct, Count int64
+pkg stats, type HistogramBucket struct, LowBound int64
+pkg stats, type HistogramValue struct
+pkg stats, type HistogramValue struct, Buckets []HistogramBucket
+pkg stats, type HistogramValue struct, Count int64
+pkg stats, type HistogramValue struct, Max int64
+pkg stats, type HistogramValue struct, Min int64
+pkg stats, type HistogramValue struct, Sum int64
diff --git a/services/wspr/browsprd/.api b/services/wspr/browsprd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/wspr/browsprd/.api
diff --git a/services/wspr/internal/account/.api b/services/wspr/internal/account/.api
new file mode 100644
index 0000000..4f8af00
--- /dev/null
+++ b/services/wspr/internal/account/.api
@@ -0,0 +1,14 @@
+pkg account, func NewAccountManager(string, *principal.PrincipalManager) *AccountManager
+pkg account, method (*AccountManager) AssociateAccount(string, string, []Caveat) error
+pkg account, method (*AccountManager) CreateAccount(*context.T, string) (string, error)
+pkg account, method (*AccountManager) GetAccounts() []string
+pkg account, method (*AccountManager) LookupPrincipal(string) (security.Principal, error)
+pkg account, method (*AccountManager) OriginHasAccount(string) bool
+pkg account, method (*AccountManager) PrincipalManager() *principal.PrincipalManager
+pkg account, method (*AccountManager) SetMockBlesser(BlesserService)
+pkg account, type AccountManager struct
+pkg account, type BlesserService interface { BlessUsingAccessToken }
+pkg account, type BlesserService interface, BlessUsingAccessToken(*context.T, string, ...rpc.CallOpt) (security.Blessings, string, error)
+pkg account, type Caveat struct
+pkg account, type Caveat struct, Args string
+pkg account, type Caveat struct, Type string
diff --git a/services/wspr/internal/app/.api b/services/wspr/internal/app/.api
new file mode 100644
index 0000000..703e6ac
--- /dev/null
+++ b/services/wspr/internal/app/.api
@@ -0,0 +1,141 @@
+pkg app, const AddName ideal-int
+pkg app, const AuthResponseMessage ideal-int
+pkg app, const CancelMessage ideal-int
+pkg app, const CaveatValidationResponse ideal-int
+pkg app, const GranterResponseMessage ideal-int
+pkg app, const LookupResponseMessage ideal-int
+pkg app, const NamespaceRequestMessage ideal-int
+pkg app, const RemoteBlessings ideal-int
+pkg app, const RemoveName ideal-int
+pkg app, const ServeMessage ideal-int
+pkg app, const ServerResponseMessage ideal-int
+pkg app, const SignatureRequestMessage ideal-int
+pkg app, const StopServerMessage ideal-int
+pkg app, const StreamCloseMessage ideal-int
+pkg app, const StreamingValueMessage ideal-int
+pkg app, const UnlinkBlessingsMessage ideal-int
+pkg app, const VeyronRequestMessage MessageType
+pkg app, func ConstructOutgoingMessage(int32, lib.ResponseType, interface{}) (string, error)
+pkg app, func ControllerClient(string) ControllerClientStub
+pkg app, func ControllerServer(ControllerServerMethods) ControllerServerStub
+pkg app, func FormatAsVerror(error) error
+pkg app, func NewController(*context.T, func(int32) lib.ClientWriter, *rpc.ListenSpec, []string, security.Principal) (*Controller, error)
+pkg app, method (*Controller) AddName(*context.T, rpc.ServerCall, uint32, string) error
+pkg app, method (*Controller) AddToRoots(*context.T, rpc.ServerCall, principal.BlessingsHandle) error
+pkg app, method (*Controller) Bless(*context.T, rpc.ServerCall, string, principal.BlessingsHandle, string, []security.Caveat) (string, principal.BlessingsHandle, error)
+pkg app, method (*Controller) BlessSelf(*context.T, rpc.ServerCall, string, []security.Caveat) (string, principal.BlessingsHandle, error)
+pkg app, method (*Controller) Cleanup()
+pkg app, method (*Controller) CleanupFlow(int32)
+pkg app, method (*Controller) CloseStream(int32)
+pkg app, method (*Controller) Context() *context.T
+pkg app, method (*Controller) CreateNewFlow(interface{}, rpc.Stream) *server.Flow
+pkg app, method (*Controller) GetBlessings(principal.BlessingsHandle) security.Blessings
+pkg app, method (*Controller) GetDefaultBlessings(*context.T, rpc.ServerCall) (*principal.JsBlessings, error)
+pkg app, method (*Controller) GetOrAddBlessingsHandle(security.Blessings) principal.BlessingsHandle
+pkg app, method (*Controller) HandleAuthResponse(int32, string)
+pkg app, method (*Controller) HandleCaveatValidationResponse(int32, string)
+pkg app, method (*Controller) HandleGranterResponse(int32, string)
+pkg app, method (*Controller) HandleIncomingMessage(Message, lib.ClientWriter)
+pkg app, method (*Controller) HandleLookupResponse(int32, string)
+pkg app, method (*Controller) HandleServerResponse(int32, string)
+pkg app, method (*Controller) HandleVeyronCancellation(int32)
+pkg app, method (*Controller) HandleVeyronRequest(*context.T, int32, string, lib.ClientWriter)
+pkg app, method (*Controller) PutToBlessingStore(*context.T, rpc.ServerCall, principal.BlessingsHandle, security.BlessingPattern) (*principal.JsBlessings, error)
+pkg app, method (*Controller) RemoteBlessings(*context.T, rpc.ServerCall, string, string) ([]string, error)
+pkg app, method (*Controller) RemoveName(*context.T, rpc.ServerCall, uint32, string) error
+pkg app, method (*Controller) SendLogMessage(lib.LogLevel, string) error
+pkg app, method (*Controller) SendOnStream(int32, string, lib.ClientWriter)
+pkg app, method (*Controller) Serve(*context.T, rpc.ServerCall, string, uint32) error
+pkg app, method (*Controller) Signature(*context.T, rpc.ServerCall, string) ([]signature.Interface, error)
+pkg app, method (*Controller) Stop(*context.T, rpc.ServerCall, uint32) error
+pkg app, method (*Controller) UnlinkBlessings(*context.T, rpc.ServerCall, principal.BlessingsHandle) error
+pkg app, method (RpcCallOptionAllowedServersPolicy) Index() int
+pkg app, method (RpcCallOptionAllowedServersPolicy) Interface() interface{}
+pkg app, method (RpcCallOptionAllowedServersPolicy) Name() string
+pkg app, method (RpcCallOptionRetryTimeout) Index() int
+pkg app, method (RpcCallOptionRetryTimeout) Interface() interface{}
+pkg app, method (RpcCallOptionRetryTimeout) Name() string
+pkg app, method (RpcCallOptionUseGranter) Index() int
+pkg app, method (RpcCallOptionUseGranter) Interface() interface{}
+pkg app, method (RpcCallOptionUseGranter) Name() string
+pkg app, type Closer interface { CloseSend }
+pkg app, type Closer interface, CloseSend() error
+pkg app, type Controller struct
+pkg app, type Controller struct, embedded sync.Mutex
+pkg app, type ControllerClientMethods interface { AddName, AddToRoots, Bless, BlessSelf, GetDefaultBlessings, PutToBlessingStore, RemoteBlessings, RemoveName, Serve, Signature, Stop, UnlinkBlessings }
+pkg app, type ControllerClientMethods interface, AddName(*context.T, uint32, string, ...rpc.CallOpt) error
+pkg app, type ControllerClientMethods interface, AddToRoots(*context.T, principal.BlessingsHandle, ...rpc.CallOpt) error
+pkg app, type ControllerClientMethods interface, Bless(*context.T, string, principal.BlessingsHandle, string, []security.Caveat, ...rpc.CallOpt) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerClientMethods interface, BlessSelf(*context.T, string, []security.Caveat, ...rpc.CallOpt) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerClientMethods interface, GetDefaultBlessings(*context.T, ...rpc.CallOpt) (*principal.JsBlessings, error)
+pkg app, type ControllerClientMethods interface, PutToBlessingStore(*context.T, principal.BlessingsHandle, security.BlessingPattern, ...rpc.CallOpt) (*principal.JsBlessings, error)
+pkg app, type ControllerClientMethods interface, RemoteBlessings(*context.T, string, string, ...rpc.CallOpt) ([]string, error)
+pkg app, type ControllerClientMethods interface, RemoveName(*context.T, uint32, string, ...rpc.CallOpt) error
+pkg app, type ControllerClientMethods interface, Serve(*context.T, string, uint32, ...rpc.CallOpt) error
+pkg app, type ControllerClientMethods interface, Signature(*context.T, string, ...rpc.CallOpt) ([]signature.Interface, error)
+pkg app, type ControllerClientMethods interface, Stop(*context.T, uint32, ...rpc.CallOpt) error
+pkg app, type ControllerClientMethods interface, UnlinkBlessings(*context.T, principal.BlessingsHandle, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, AddName(*context.T, uint32, string, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, AddToRoots(*context.T, principal.BlessingsHandle, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, Bless(*context.T, string, principal.BlessingsHandle, string, []security.Caveat, ...rpc.CallOpt) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerClientStub interface, BlessSelf(*context.T, string, []security.Caveat, ...rpc.CallOpt) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerClientStub interface, GetDefaultBlessings(*context.T, ...rpc.CallOpt) (*principal.JsBlessings, error)
+pkg app, type ControllerClientStub interface, PutToBlessingStore(*context.T, principal.BlessingsHandle, security.BlessingPattern, ...rpc.CallOpt) (*principal.JsBlessings, error)
+pkg app, type ControllerClientStub interface, RemoteBlessings(*context.T, string, string, ...rpc.CallOpt) ([]string, error)
+pkg app, type ControllerClientStub interface, RemoveName(*context.T, uint32, string, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, Serve(*context.T, string, uint32, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, Signature(*context.T, string, ...rpc.CallOpt) ([]signature.Interface, error)
+pkg app, type ControllerClientStub interface, Stop(*context.T, uint32, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, UnlinkBlessings(*context.T, principal.BlessingsHandle, ...rpc.CallOpt) error
+pkg app, type ControllerClientStub interface, unexported methods
+pkg app, type ControllerServerMethods interface { AddName, AddToRoots, Bless, BlessSelf, GetDefaultBlessings, PutToBlessingStore, RemoteBlessings, RemoveName, Serve, Signature, Stop, UnlinkBlessings }
+pkg app, type ControllerServerMethods interface, AddName(*context.T, rpc.ServerCall, uint32, string) error
+pkg app, type ControllerServerMethods interface, AddToRoots(*context.T, rpc.ServerCall, principal.BlessingsHandle) error
+pkg app, type ControllerServerMethods interface, Bless(*context.T, rpc.ServerCall, string, principal.BlessingsHandle, string, []security.Caveat) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerServerMethods interface, BlessSelf(*context.T, rpc.ServerCall, string, []security.Caveat) (string, principal.BlessingsHandle, error)
+pkg app, type ControllerServerMethods interface, GetDefaultBlessings(*context.T, rpc.ServerCall) (*principal.JsBlessings, error)
+pkg app, type ControllerServerMethods interface, PutToBlessingStore(*context.T, rpc.ServerCall, principal.BlessingsHandle, security.BlessingPattern) (*principal.JsBlessings, error)
+pkg app, type ControllerServerMethods interface, RemoteBlessings(*context.T, rpc.ServerCall, string, string) ([]string, error)
+pkg app, type ControllerServerMethods interface, RemoveName(*context.T, rpc.ServerCall, uint32, string) error
+pkg app, type ControllerServerMethods interface, Serve(*context.T, rpc.ServerCall, string, uint32) error
+pkg app, type ControllerServerMethods interface, Signature(*context.T, rpc.ServerCall, string) ([]signature.Interface, error)
+pkg app, type ControllerServerMethods interface, Stop(*context.T, rpc.ServerCall, uint32) error
+pkg app, type ControllerServerMethods interface, UnlinkBlessings(*context.T, rpc.ServerCall, principal.BlessingsHandle) error
+pkg app, type ControllerServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg app, type ControllerServerStub interface, unexported methods
+pkg app, type ControllerServerStubMethods ControllerServerMethods
+pkg app, type GranterHandle int32
+pkg app, type GranterRequest struct
+pkg app, type GranterRequest struct, Call server.SecurityCall
+pkg app, type GranterRequest struct, GranterHandle GranterHandle
+pkg app, type GranterResponse struct
+pkg app, type GranterResponse struct, Blessings principal.BlessingsHandle
+pkg app, type GranterResponse struct, Err error
+pkg app, type Message struct
+pkg app, type Message struct, Data string
+pkg app, type Message struct, Id int32
+pkg app, type Message struct, Type MessageType
+pkg app, type MessageType int32
+pkg app, type RpcCallOption interface, Index() int
+pkg app, type RpcCallOption interface, Interface() interface{}
+pkg app, type RpcCallOption interface, Name() string
+pkg app, type RpcCallOption interface, unexported methods
+pkg app, type RpcCallOptionAllowedServersPolicy struct
+pkg app, type RpcCallOptionAllowedServersPolicy struct, Value []security.BlessingPattern
+pkg app, type RpcCallOptionRetryTimeout struct
+pkg app, type RpcCallOptionRetryTimeout struct, Value time.Duration
+pkg app, type RpcCallOptionUseGranter struct
+pkg app, type RpcCallOptionUseGranter struct, Value GranterHandle
+pkg app, type RpcRequest struct
+pkg app, type RpcRequest struct, CallOptions []RpcCallOption
+pkg app, type RpcRequest struct, Deadline time_2.Deadline
+pkg app, type RpcRequest struct, IsStreaming bool
+pkg app, type RpcRequest struct, Method string
+pkg app, type RpcRequest struct, Name string
+pkg app, type RpcRequest struct, NumInArgs int32
+pkg app, type RpcRequest struct, NumOutArgs int32
+pkg app, type RpcRequest struct, TraceRequest vtrace.Request
+pkg app, type RpcResponse struct
+pkg app, type RpcResponse struct, OutArgs []*vdl.Value
+pkg app, type RpcResponse struct, TraceResponse vtrace.Response
+pkg app, var ControllerDesc rpc.InterfaceDesc
diff --git a/services/wspr/internal/browspr/.api b/services/wspr/internal/browspr/.api
new file mode 100644
index 0000000..abbd96f
--- /dev/null
+++ b/services/wspr/internal/browspr/.api
@@ -0,0 +1,33 @@
+pkg browspr, func NewBrowspr(*context.T, func(int32, string, string), *rpc.ListenSpec, string, []string) *Browspr
+pkg browspr, method (*Browspr) HandleAuthAssociateAccountRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleAuthCreateAccountRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleAuthGetAccountsRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleAuthOriginHasAccountRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleCleanupRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleCreateInstanceRpc(*vdl.Value) (*vdl.Value, error)
+pkg browspr, method (*Browspr) HandleMessage(int32, string, string) error
+pkg browspr, method (*Browspr) Shutdown()
+pkg browspr, type AssociateAccountMessage struct
+pkg browspr, type AssociateAccountMessage struct, Account string
+pkg browspr, type AssociateAccountMessage struct, Caveats []account.Caveat
+pkg browspr, type AssociateAccountMessage struct, Origin string
+pkg browspr, type Browspr struct
+pkg browspr, type CleanupMessage struct
+pkg browspr, type CleanupMessage struct, InstanceId int32
+pkg browspr, type CreateAccountMessage struct
+pkg browspr, type CreateAccountMessage struct, Token string
+pkg browspr, type CreateInstanceMessage struct
+pkg browspr, type CreateInstanceMessage struct, InstanceId int32
+pkg browspr, type CreateInstanceMessage struct, NamespaceRoots []string
+pkg browspr, type CreateInstanceMessage struct, Origin string
+pkg browspr, type CreateInstanceMessage struct, Proxy string
+pkg browspr, type GetAccountsMessage struct
+pkg browspr, type OriginHasAccountMessage struct
+pkg browspr, type OriginHasAccountMessage struct, Origin string
+pkg browspr, type StartMessage struct
+pkg browspr, type StartMessage struct, Identityd string
+pkg browspr, type StartMessage struct, IdentitydBlessingRoot identity.BlessingRootResponse
+pkg browspr, type StartMessage struct, LogLevel int32
+pkg browspr, type StartMessage struct, LogModule string
+pkg browspr, type StartMessage struct, NamespaceRoot string
+pkg browspr, type StartMessage struct, Proxy string
diff --git a/services/wspr/internal/channel/.api b/services/wspr/internal/channel/.api
new file mode 100644
index 0000000..5a8246c
--- /dev/null
+++ b/services/wspr/internal/channel/.api
@@ -0,0 +1,29 @@
+pkg channel, func NewChannel(MessageSender) *Channel
+pkg channel, method (*Channel) HandleMessage(Message)
+pkg channel, method (*Channel) PerformRpc(string, *vdl.Value) (*vdl.Value, error)
+pkg channel, method (*Channel) RegisterRequestHandler(string, RequestHandler)
+pkg channel, method (MessageRequest) Index() int
+pkg channel, method (MessageRequest) Interface() interface{}
+pkg channel, method (MessageRequest) Name() string
+pkg channel, method (MessageResponse) Index() int
+pkg channel, method (MessageResponse) Interface() interface{}
+pkg channel, method (MessageResponse) Name() string
+pkg channel, type Channel struct
+pkg channel, type Message interface, Index() int
+pkg channel, type Message interface, Interface() interface{}
+pkg channel, type Message interface, Name() string
+pkg channel, type Message interface, unexported methods
+pkg channel, type MessageRequest struct
+pkg channel, type MessageRequest struct, Value Request
+pkg channel, type MessageResponse struct
+pkg channel, type MessageResponse struct, Value Response
+pkg channel, type MessageSender func(Message)
+pkg channel, type Request struct
+pkg channel, type Request struct, Body *vdl.Value
+pkg channel, type Request struct, Seq uint32
+pkg channel, type Request struct, Type string
+pkg channel, type RequestHandler func(*vdl.Value) (*vdl.Value, error)
+pkg channel, type Response struct
+pkg channel, type Response struct, Body *vdl.Value
+pkg channel, type Response struct, Err string
+pkg channel, type Response struct, ReqSeq uint32
diff --git a/services/wspr/internal/channel/channel_nacl/.api b/services/wspr/internal/channel/channel_nacl/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/wspr/internal/channel/channel_nacl/.api
diff --git a/services/wspr/internal/lib/.api b/services/wspr/internal/lib/.api
new file mode 100644
index 0000000..df2c51e
--- /dev/null
+++ b/services/wspr/internal/lib/.api
@@ -0,0 +1,44 @@
+pkg lib, const JSRPCNoTimeout int64
+pkg lib, const LogLevelError LogLevel
+pkg lib, const LogLevelInfo LogLevel
+pkg lib, const ResponseAuthRequest ideal-int
+pkg lib, const ResponseCancel ideal-int
+pkg lib, const ResponseDispatcherLookup ideal-int
+pkg lib, const ResponseError ideal-int
+pkg lib, const ResponseFinal ResponseType
+pkg lib, const ResponseGranterRequest ideal-int
+pkg lib, const ResponseLog ideal-int
+pkg lib, const ResponseServerRequest ideal-int
+pkg lib, const ResponseStream ideal-int
+pkg lib, const ResponseStreamClose ideal-int
+pkg lib, const ResponseValidate ideal-int
+pkg lib, func GoToJSDuration(time.Duration) int64
+pkg lib, func JSToGoDuration(int64) time.Duration
+pkg lib, func LogLevelFromString(string) (LogLevel, error)
+pkg lib, func LowercaseFirstCharacter(string) string
+pkg lib, func NewSignatureManager() SignatureManager
+pkg lib, func UppercaseFirstCharacter(string) string
+pkg lib, func VomDecode(string, interface{}) error
+pkg lib, func VomEncode(interface{}) (string, error)
+pkg lib, func VomEncodeOrDie(interface{}) string
+pkg lib, method (*LogLevel) Set(string) error
+pkg lib, method (LogLevel) String() string
+pkg lib, type ClientWriter interface { Error, Send }
+pkg lib, type ClientWriter interface, Error(error)
+pkg lib, type ClientWriter interface, Send(ResponseType, interface{}) error
+pkg lib, type LogLevel int
+pkg lib, type LogMessage struct
+pkg lib, type LogMessage struct, Level LogLevel
+pkg lib, type LogMessage struct, Message string
+pkg lib, type Response struct
+pkg lib, type Response struct, Message interface{}
+pkg lib, type Response struct, Type ResponseType
+pkg lib, type ResponseType int32
+pkg lib, type ServerRpcReply struct
+pkg lib, type ServerRpcReply struct, Err error
+pkg lib, type ServerRpcReply struct, Results []*vdl.Value
+pkg lib, type ServerRpcReply struct, TraceResponse vtrace.Response
+pkg lib, type SignatureManager interface { FlushCacheEntry, Signature }
+pkg lib, type SignatureManager interface, FlushCacheEntry(string)
+pkg lib, type SignatureManager interface, Signature(*context.T, string, ...rpc.CallOpt) ([]signature.Interface, error)
+pkg lib, var LogLevelAll [...]LogLevel
diff --git a/services/wspr/internal/lib/testwriter/.api b/services/wspr/internal/lib/testwriter/.api
new file mode 100644
index 0000000..27e1c07
--- /dev/null
+++ b/services/wspr/internal/lib/testwriter/.api
@@ -0,0 +1,10 @@
+pkg testwriter, func CheckResponses(*Writer, []lib.Response, error) error
+pkg testwriter, method (*Writer) Error(error)
+pkg testwriter, method (*Writer) ImmediatelyConsumeItem() (lib.Response, error)
+pkg testwriter, method (*Writer) Send(lib.ResponseType, interface{}) error
+pkg testwriter, method (*Writer) WaitForMessage(int) error
+pkg testwriter, type TestHarness interface { Errorf }
+pkg testwriter, type TestHarness interface, Errorf(string, ...interface{})
+pkg testwriter, type Writer struct
+pkg testwriter, type Writer struct, Stream []lib.Response
+pkg testwriter, type Writer struct, embedded sync.Mutex
diff --git a/services/wspr/internal/namespace/.api b/services/wspr/internal/namespace/.api
new file mode 100644
index 0000000..49c9ca5
--- /dev/null
+++ b/services/wspr/internal/namespace/.api
@@ -0,0 +1,96 @@
+pkg namespace, func NamespaceClient(string) NamespaceClientStub
+pkg namespace, func NamespaceServer(NamespaceServerMethods) NamespaceServerStub
+pkg namespace, func New(*context.T) *Server
+pkg namespace, method (*NamespaceGlobServerCallStub) Init(rpc.StreamServerCall)
+pkg namespace, method (*NamespaceGlobServerCallStub) SendStream() interface {  Send(item naming.GlobReply) error;}
+pkg namespace, method (*Server) Delete(*context.T, rpc.ServerCall, string, bool) error
+pkg namespace, method (*Server) DisableCache(*context.T, rpc.ServerCall, bool) error
+pkg namespace, method (*Server) FlushCacheEntry(*context.T, rpc.ServerCall, string) (bool, error)
+pkg namespace, method (*Server) GetPermissions(*context.T, rpc.ServerCall, string) (access.Permissions, string, error)
+pkg namespace, method (*Server) Glob(*context.T, *NamespaceGlobServerCallStub, string) error
+pkg namespace, method (*Server) Mount(*context.T, rpc.ServerCall, string, string, time.Duration, bool) error
+pkg namespace, method (*Server) Resolve(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, method (*Server) ResolveToMountTable(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, method (*Server) Roots(*context.T, rpc.ServerCall) ([]string, error)
+pkg namespace, method (*Server) SetPermissions(*context.T, rpc.ServerCall, string, access.Permissions, string) error
+pkg namespace, method (*Server) SetRoots(*context.T, rpc.ServerCall, []string) error
+pkg namespace, method (*Server) Unmount(*context.T, rpc.ServerCall, string, string) error
+pkg namespace, type NamespaceClientMethods interface { Delete, DisableCache, FlushCacheEntry, GetPermissions, Glob, Mount, Resolve, ResolveToMountTable, Roots, SetPermissions, SetRoots, Unmount }
+pkg namespace, type NamespaceClientMethods interface, Delete(*context.T, string, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientMethods interface, DisableCache(*context.T, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientMethods interface, FlushCacheEntry(*context.T, string, ...rpc.CallOpt) (bool, error)
+pkg namespace, type NamespaceClientMethods interface, GetPermissions(*context.T, string, ...rpc.CallOpt) (access.Permissions, string, error)
+pkg namespace, type NamespaceClientMethods interface, Glob(*context.T, string, ...rpc.CallOpt) (NamespaceGlobClientCall, error)
+pkg namespace, type NamespaceClientMethods interface, Mount(*context.T, string, string, time.Duration, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientMethods interface, Resolve(*context.T, string, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientMethods interface, ResolveToMountTable(*context.T, string, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientMethods interface, Roots(*context.T, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientMethods interface, SetPermissions(*context.T, string, access.Permissions, string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientMethods interface, SetRoots(*context.T, []string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientMethods interface, Unmount(*context.T, string, string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, Delete(*context.T, string, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, DisableCache(*context.T, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, FlushCacheEntry(*context.T, string, ...rpc.CallOpt) (bool, error)
+pkg namespace, type NamespaceClientStub interface, GetPermissions(*context.T, string, ...rpc.CallOpt) (access.Permissions, string, error)
+pkg namespace, type NamespaceClientStub interface, Glob(*context.T, string, ...rpc.CallOpt) (NamespaceGlobClientCall, error)
+pkg namespace, type NamespaceClientStub interface, Mount(*context.T, string, string, time.Duration, bool, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, Resolve(*context.T, string, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientStub interface, ResolveToMountTable(*context.T, string, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientStub interface, Roots(*context.T, ...rpc.CallOpt) ([]string, error)
+pkg namespace, type NamespaceClientStub interface, SetPermissions(*context.T, string, access.Permissions, string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, SetRoots(*context.T, []string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, Unmount(*context.T, string, string, ...rpc.CallOpt) error
+pkg namespace, type NamespaceClientStub interface, unexported methods
+pkg namespace, type NamespaceGlobClientCall interface { Finish, RecvStream }
+pkg namespace, type NamespaceGlobClientCall interface, Finish() error
+pkg namespace, type NamespaceGlobClientCall interface, RecvStream() interface {  Advance() bool;; Value() naming.GlobReply;; Err() error;}
+pkg namespace, type NamespaceGlobClientStream interface { RecvStream }
+pkg namespace, type NamespaceGlobClientStream interface, RecvStream() interface {  Advance() bool;; Value() naming.GlobReply;; Err() error;}
+pkg namespace, type NamespaceGlobServerCall interface, SendStream() interface {  Send(item naming.GlobReply) error;}
+pkg namespace, type NamespaceGlobServerCall interface, unexported methods
+pkg namespace, type NamespaceGlobServerCallStub struct
+pkg namespace, type NamespaceGlobServerCallStub struct, embedded rpc.StreamServerCall
+pkg namespace, type NamespaceGlobServerStream interface { SendStream }
+pkg namespace, type NamespaceGlobServerStream interface, SendStream() interface {  Send(item naming.GlobReply) error;}
+pkg namespace, type NamespaceServerMethods interface { Delete, DisableCache, FlushCacheEntry, GetPermissions, Glob, Mount, Resolve, ResolveToMountTable, Roots, SetPermissions, SetRoots, Unmount }
+pkg namespace, type NamespaceServerMethods interface, Delete(*context.T, rpc.ServerCall, string, bool) error
+pkg namespace, type NamespaceServerMethods interface, DisableCache(*context.T, rpc.ServerCall, bool) error
+pkg namespace, type NamespaceServerMethods interface, FlushCacheEntry(*context.T, rpc.ServerCall, string) (bool, error)
+pkg namespace, type NamespaceServerMethods interface, GetPermissions(*context.T, rpc.ServerCall, string) (access.Permissions, string, error)
+pkg namespace, type NamespaceServerMethods interface, Glob(*context.T, NamespaceGlobServerCall, string) error
+pkg namespace, type NamespaceServerMethods interface, Mount(*context.T, rpc.ServerCall, string, string, time.Duration, bool) error
+pkg namespace, type NamespaceServerMethods interface, Resolve(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerMethods interface, ResolveToMountTable(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerMethods interface, Roots(*context.T, rpc.ServerCall) ([]string, error)
+pkg namespace, type NamespaceServerMethods interface, SetPermissions(*context.T, rpc.ServerCall, string, access.Permissions, string) error
+pkg namespace, type NamespaceServerMethods interface, SetRoots(*context.T, rpc.ServerCall, []string) error
+pkg namespace, type NamespaceServerMethods interface, Unmount(*context.T, rpc.ServerCall, string, string) error
+pkg namespace, type NamespaceServerStub interface { Delete, Describe__, DisableCache, FlushCacheEntry, GetPermissions, Glob, Mount, Resolve, ResolveToMountTable, Roots, SetPermissions, SetRoots, Unmount }
+pkg namespace, type NamespaceServerStub interface, Delete(*context.T, rpc.ServerCall, string, bool) error
+pkg namespace, type NamespaceServerStub interface, Describe__() []rpc.InterfaceDesc
+pkg namespace, type NamespaceServerStub interface, DisableCache(*context.T, rpc.ServerCall, bool) error
+pkg namespace, type NamespaceServerStub interface, FlushCacheEntry(*context.T, rpc.ServerCall, string) (bool, error)
+pkg namespace, type NamespaceServerStub interface, GetPermissions(*context.T, rpc.ServerCall, string) (access.Permissions, string, error)
+pkg namespace, type NamespaceServerStub interface, Glob(*context.T, *NamespaceGlobServerCallStub, string) error
+pkg namespace, type NamespaceServerStub interface, Mount(*context.T, rpc.ServerCall, string, string, time.Duration, bool) error
+pkg namespace, type NamespaceServerStub interface, Resolve(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerStub interface, ResolveToMountTable(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerStub interface, Roots(*context.T, rpc.ServerCall) ([]string, error)
+pkg namespace, type NamespaceServerStub interface, SetPermissions(*context.T, rpc.ServerCall, string, access.Permissions, string) error
+pkg namespace, type NamespaceServerStub interface, SetRoots(*context.T, rpc.ServerCall, []string) error
+pkg namespace, type NamespaceServerStub interface, Unmount(*context.T, rpc.ServerCall, string, string) error
+pkg namespace, type NamespaceServerStubMethods interface { Delete, DisableCache, FlushCacheEntry, GetPermissions, Glob, Mount, Resolve, ResolveToMountTable, Roots, SetPermissions, SetRoots, Unmount }
+pkg namespace, type NamespaceServerStubMethods interface, Delete(*context.T, rpc.ServerCall, string, bool) error
+pkg namespace, type NamespaceServerStubMethods interface, DisableCache(*context.T, rpc.ServerCall, bool) error
+pkg namespace, type NamespaceServerStubMethods interface, FlushCacheEntry(*context.T, rpc.ServerCall, string) (bool, error)
+pkg namespace, type NamespaceServerStubMethods interface, GetPermissions(*context.T, rpc.ServerCall, string) (access.Permissions, string, error)
+pkg namespace, type NamespaceServerStubMethods interface, Glob(*context.T, *NamespaceGlobServerCallStub, string) error
+pkg namespace, type NamespaceServerStubMethods interface, Mount(*context.T, rpc.ServerCall, string, string, time.Duration, bool) error
+pkg namespace, type NamespaceServerStubMethods interface, Resolve(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerStubMethods interface, ResolveToMountTable(*context.T, rpc.ServerCall, string) ([]string, error)
+pkg namespace, type NamespaceServerStubMethods interface, Roots(*context.T, rpc.ServerCall) ([]string, error)
+pkg namespace, type NamespaceServerStubMethods interface, SetPermissions(*context.T, rpc.ServerCall, string, access.Permissions, string) error
+pkg namespace, type NamespaceServerStubMethods interface, SetRoots(*context.T, rpc.ServerCall, []string) error
+pkg namespace, type NamespaceServerStubMethods interface, Unmount(*context.T, rpc.ServerCall, string, string) error
+pkg namespace, type Server struct
+pkg namespace, var NamespaceDesc rpc.InterfaceDesc
diff --git a/services/wspr/internal/principal/.api b/services/wspr/internal/principal/.api
new file mode 100644
index 0000000..fcf1511
--- /dev/null
+++ b/services/wspr/internal/principal/.api
@@ -0,0 +1,24 @@
+pkg principal, const ZeroHandle BlessingsHandle
+pkg principal, func ConvertBlessingsToHandle(security.Blessings, BlessingsHandle) *JsBlessings
+pkg principal, func DecodePublicKey(string) (security.PublicKey, error)
+pkg principal, func EncodePublicKey(security.PublicKey) (string, error)
+pkg principal, func NewJSBlessingsHandles() *JSBlessingsHandles
+pkg principal, func NewPrincipalManager(security.Principal, vsecurity.SerializerReaderWriter) (*PrincipalManager, error)
+pkg principal, method (*InMemorySerializer) Readers() (io.ReadCloser, io.ReadCloser, error)
+pkg principal, method (*InMemorySerializer) Writers() (io.WriteCloser, io.WriteCloser, error)
+pkg principal, method (*JSBlessingsHandles) GetBlessings(BlessingsHandle) security.Blessings
+pkg principal, method (*JSBlessingsHandles) GetOrAddHandle(security.Blessings) BlessingsHandle
+pkg principal, method (*JSBlessingsHandles) RemoveReference(BlessingsHandle) error
+pkg principal, method (*PrincipalManager) AddAccount(string, security.Blessings) error
+pkg principal, method (*PrincipalManager) AddOrigin(string, string, []security.Caveat, []time.Time) error
+pkg principal, method (*PrincipalManager) BlessingsForAccount(string) (security.Blessings, error)
+pkg principal, method (*PrincipalManager) DummyAccount() (string, error)
+pkg principal, method (*PrincipalManager) OriginHasAccount(string) bool
+pkg principal, method (*PrincipalManager) Principal(string) (security.Principal, error)
+pkg principal, type BlessingsHandle int32
+pkg principal, type InMemorySerializer struct
+pkg principal, type JSBlessingsHandles struct
+pkg principal, type JsBlessings struct
+pkg principal, type JsBlessings struct, Handle BlessingsHandle
+pkg principal, type JsBlessings struct, PublicKey string
+pkg principal, type PrincipalManager struct
diff --git a/services/wspr/internal/rpc/server/.api b/services/wspr/internal/rpc/server/.api
new file mode 100644
index 0000000..4c2a23a
--- /dev/null
+++ b/services/wspr/internal/rpc/server/.api
@@ -0,0 +1,66 @@
+pkg server, func CaveatValidation(*context.T, security.Call, [][]security.Caveat) []error
+pkg server, func ConvertSecurityCall(ServerHelper, *context.T, security.Call, bool) SecurityCall
+pkg server, func NewErrCaveatValidationTimeout(*context.T) error
+pkg server, func NewErrInvalidValidationResponseFromJavascript(*context.T) error
+pkg server, func NewErrServerStopped(*context.T) error
+pkg server, func NewServer(uint32, *rpc.ListenSpec, ServerHelper) (*Server, error)
+pkg server, method (*Server) AddName(string) error
+pkg server, method (*Server) HandleAuthResponse(int32, string)
+pkg server, method (*Server) HandleCaveatValidationResponse(int32, string)
+pkg server, method (*Server) HandleLookupResponse(int32, string)
+pkg server, method (*Server) HandleServerResponse(int32, string)
+pkg server, method (*Server) RemoveName(string)
+pkg server, method (*Server) Serve(string) error
+pkg server, method (*Server) Stop()
+pkg server, type AuthRequest struct
+pkg server, type AuthRequest struct, Call SecurityCall
+pkg server, type AuthRequest struct, Handle int32
+pkg server, type AuthRequest struct, ServerId uint32
+pkg server, type CaveatValidationRequest struct
+pkg server, type CaveatValidationRequest struct, Call SecurityCall
+pkg server, type CaveatValidationRequest struct, Cavs [][]security.Caveat
+pkg server, type CaveatValidationResponse struct
+pkg server, type CaveatValidationResponse struct, Results []error
+pkg server, type Flow struct
+pkg server, type Flow struct, ID int32
+pkg server, type Flow struct, Writer lib.ClientWriter
+pkg server, type FlowHandler interface { CleanupFlow, CreateNewFlow }
+pkg server, type FlowHandler interface, CleanupFlow(int32)
+pkg server, type FlowHandler interface, CreateNewFlow(interface{}, rpc.Stream) *Flow
+pkg server, type HandleStore interface { GetBlessings, GetOrAddBlessingsHandle }
+pkg server, type HandleStore interface, GetBlessings(principal.BlessingsHandle) security.Blessings
+pkg server, type HandleStore interface, GetOrAddBlessingsHandle(security.Blessings) principal.BlessingsHandle
+pkg server, type SecurityCall struct
+pkg server, type SecurityCall struct, LocalBlessingStrings []string
+pkg server, type SecurityCall struct, LocalBlessings principal.JsBlessings
+pkg server, type SecurityCall struct, LocalEndpoint string
+pkg server, type SecurityCall struct, Method string
+pkg server, type SecurityCall struct, MethodTags []*vdl.Value
+pkg server, type SecurityCall struct, RemoteBlessingStrings []string
+pkg server, type SecurityCall struct, RemoteBlessings principal.JsBlessings
+pkg server, type SecurityCall struct, RemoteEndpoint string
+pkg server, type SecurityCall struct, Suffix string
+pkg server, type Server struct
+pkg server, type ServerHelper interface { CleanupFlow, Context, CreateNewFlow, GetBlessings, GetOrAddBlessingsHandle, SendLogMessage }
+pkg server, type ServerHelper interface, CleanupFlow(int32)
+pkg server, type ServerHelper interface, Context() *context.T
+pkg server, type ServerHelper interface, CreateNewFlow(interface{}, rpc.Stream) *Flow
+pkg server, type ServerHelper interface, GetBlessings(principal.BlessingsHandle) security.Blessings
+pkg server, type ServerHelper interface, GetOrAddBlessingsHandle(security.Blessings) principal.BlessingsHandle
+pkg server, type ServerHelper interface, SendLogMessage(lib.LogLevel, string) error
+pkg server, type ServerRpcRequest struct
+pkg server, type ServerRpcRequest struct, Args []*vdl.Value
+pkg server, type ServerRpcRequest struct, Call ServerRpcRequestCall
+pkg server, type ServerRpcRequest struct, Handle int32
+pkg server, type ServerRpcRequest struct, Method string
+pkg server, type ServerRpcRequest struct, ServerId uint32
+pkg server, type ServerRpcRequestCall struct
+pkg server, type ServerRpcRequestCall struct, Deadline time.Deadline
+pkg server, type ServerRpcRequestCall struct, GrantedBlessings *principal.JsBlessings
+pkg server, type ServerRpcRequestCall struct, SecurityCall SecurityCall
+pkg server, type ServerRpcRequestCall struct, TraceRequest vtrace.Request
+pkg server, var ErrCaveatValidationTimeout unknown-type
+pkg server, var ErrInvalidValidationResponseFromJavascript unknown-type
+pkg server, var ErrMethodNotFoundInSignature unknown-type
+pkg server, var ErrServerStopped unknown-type
+pkg server, var ErrWrongNumberOfArgs unknown-type
diff --git a/services/wspr/wsprd/.api b/services/wspr/wsprd/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/wspr/wsprd/.api
diff --git a/services/wspr/wsprlib/.api b/services/wspr/wsprlib/.api
new file mode 100644
index 0000000..7e15162
--- /dev/null
+++ b/services/wspr/wsprlib/.api
@@ -0,0 +1,6 @@
+pkg wsprlib, func NewWSPR(*context.T, int, *rpc.ListenSpec, string, []string) *WSPR
+pkg wsprlib, method (*WSPR) CleanUpPipe(*http.Request)
+pkg wsprlib, method (*WSPR) Listen() net.Addr
+pkg wsprlib, method (*WSPR) Serve()
+pkg wsprlib, method (*WSPR) Shutdown()
+pkg wsprlib, type WSPR struct
diff --git a/test/.api b/test/.api
new file mode 100644
index 0000000..dc1c7a3
--- /dev/null
+++ b/test/.api
@@ -0,0 +1,7 @@
+pkg test, const IntegrationTestsDebugShellOnErrorFlag ideal-string
+pkg test, const IntegrationTestsFlag ideal-string
+pkg test, const TestBlessing ideal-string
+pkg test, func Init()
+pkg test, func InitForTest() (*context.T, v23.Shutdown)
+pkg test, var IntegrationTestsDebugShellOnError bool
+pkg test, var IntegrationTestsEnabled bool
diff --git a/test/benchmark/.api b/test/benchmark/.api
new file mode 100644
index 0000000..45b8fe1
--- /dev/null
+++ b/test/benchmark/.api
@@ -0,0 +1,9 @@
+pkg benchmark, func AddStats(*testing.B, int) *Stats
+pkg benchmark, func AddStatsWithName(*testing.B, string, int) *Stats
+pkg benchmark, func NewStats(int) *Stats
+pkg benchmark, func RunTestMain(*testing.M) int
+pkg benchmark, method (*Stats) Add(time.Duration)
+pkg benchmark, method (*Stats) Clear()
+pkg benchmark, method (*Stats) Print(io.Writer)
+pkg benchmark, method (*Stats) String() string
+pkg benchmark, type Stats struct
diff --git a/test/expect/.api b/test/expect/.api
new file mode 100644
index 0000000..af8ef19
--- /dev/null
+++ b/test/expect/.api
@@ -0,0 +1,22 @@
+pkg expect, func NewSession(Testing, io.Reader, time.Duration) *Session
+pkg expect, method (*Session) Error() error
+pkg expect, method (*Session) Expect(string)
+pkg expect, method (*Session) ExpectEOF() error
+pkg expect, method (*Session) ExpectRE(string, int) [][]string
+pkg expect, method (*Session) ExpectSetEventuallyRE(...string) [][]string
+pkg expect, method (*Session) ExpectSetRE(...string) [][]string
+pkg expect, method (*Session) ExpectVar(string) string
+pkg expect, method (*Session) Expectf(string, ...interface{})
+pkg expect, method (*Session) Failed() bool
+pkg expect, method (*Session) Finish(io.Writer) (string, error)
+pkg expect, method (*Session) OriginalError() error
+pkg expect, method (*Session) ReadAll() (string, error)
+pkg expect, method (*Session) ReadLine() string
+pkg expect, method (*Session) ReportError()
+pkg expect, method (*Session) SetVerbosity(bool)
+pkg expect, type Session struct
+pkg expect, type Testing interface { Error, Errorf, Log }
+pkg expect, type Testing interface, Error(...interface{})
+pkg expect, type Testing interface, Errorf(string, ...interface{})
+pkg expect, type Testing interface, Log(...interface{})
+pkg expect, var Timeout error
diff --git a/test/modules/.api b/test/modules/.api
new file mode 100644
index 0000000..08fa5b5
--- /dev/null
+++ b/test/modules/.api
@@ -0,0 +1,83 @@
+pkg modules, func DefaultStartOpts() StartOpts
+pkg modules, func Dispatch() error
+pkg modules, func DispatchAndExit()
+pkg modules, func Help(string) string
+pkg modules, func IsModulesChildProcess() bool
+pkg modules, func NewShell(*context.T, security.Principal, bool, expect.Testing) (*Shell, error)
+pkg modules, func RegisterChild(string, string, Main)
+pkg modules, func RegisterFunction(string, string, Main)
+pkg modules, func SetEntryPoint(map[string]string, string) []string
+pkg modules, func Usage(*flag.FlagSet) string
+pkg modules, func WaitForEOF(io.Reader)
+pkg modules, method (*CustomCredentials) File() (*os.File, error)
+pkg modules, method (*CustomCredentials) Principal() security.Principal
+pkg modules, method (*Shell) Cleanup(io.Writer, io.Writer) error
+pkg modules, method (*Shell) ClearConfigKey(string)
+pkg modules, method (*Shell) ClearVar(string)
+pkg modules, method (*Shell) CommandEnvelope(string, []string, ...string) ([]string, []string)
+pkg modules, method (*Shell) DefaultStartOpts() StartOpts
+pkg modules, method (*Shell) Env() []string
+pkg modules, method (*Shell) Forget(Handle)
+pkg modules, method (*Shell) GetConfigKey(string) (string, bool)
+pkg modules, method (*Shell) GetVar(string) (string, bool)
+pkg modules, method (*Shell) Help(string) string
+pkg modules, method (*Shell) NewChildCredentials(string, ...security.Caveat) (*CustomCredentials, error)
+pkg modules, method (*Shell) NewCustomCredentials() (*CustomCredentials, error)
+pkg modules, method (*Shell) SetConfigKey(string, string)
+pkg modules, method (*Shell) SetDefaultStartOpts(StartOpts)
+pkg modules, method (*Shell) SetVar(string, string)
+pkg modules, method (*Shell) Start(string, []string, ...string) (Handle, error)
+pkg modules, method (*Shell) StartWithOpts(StartOpts, []string, string, ...string) (Handle, error)
+pkg modules, method (*Shell) String() string
+pkg modules, method (StartOpts) ExternalCommand() StartOpts
+pkg modules, method (StartOpts) NoExecCommand() StartOpts
+pkg modules, method (StartOpts) WithCustomCredentials(*CustomCredentials) StartOpts
+pkg modules, method (StartOpts) WithSessions(expect.Testing, time.Duration) StartOpts
+pkg modules, method (StartOpts) WithStdin(io.Reader) StartOpts
+pkg modules, type CustomCredentials struct
+pkg modules, type ExpectSession interface { Error, Expect, ExpectEOF, ExpectRE, ExpectSetEventuallyRE, ExpectSetRE, ExpectVar, Expectf, Failed, ReadAll, ReadLine, SetVerbosity }
+pkg modules, type ExpectSession interface, Error() error
+pkg modules, type ExpectSession interface, Expect(string)
+pkg modules, type ExpectSession interface, ExpectEOF() error
+pkg modules, type ExpectSession interface, ExpectRE(string, int) [][]string
+pkg modules, type ExpectSession interface, ExpectSetEventuallyRE(...string) [][]string
+pkg modules, type ExpectSession interface, ExpectSetRE(...string) [][]string
+pkg modules, type ExpectSession interface, ExpectVar(string) string
+pkg modules, type ExpectSession interface, Expectf(string, ...interface{})
+pkg modules, type ExpectSession interface, Failed() bool
+pkg modules, type ExpectSession interface, ReadAll() (string, error)
+pkg modules, type ExpectSession interface, ReadLine() string
+pkg modules, type ExpectSession interface, SetVerbosity(bool)
+pkg modules, type Handle interface { CloseStdin, Error, Expect, ExpectEOF, ExpectRE, ExpectSetEventuallyRE, ExpectSetRE, ExpectVar, Expectf, Failed, Pid, ReadAll, ReadLine, SetVerbosity, Shutdown, Stderr, Stdin, Stdout }
+pkg modules, type Handle interface, CloseStdin()
+pkg modules, type Handle interface, Error() error
+pkg modules, type Handle interface, Expect(string)
+pkg modules, type Handle interface, ExpectEOF() error
+pkg modules, type Handle interface, ExpectRE(string, int) [][]string
+pkg modules, type Handle interface, ExpectSetEventuallyRE(...string) [][]string
+pkg modules, type Handle interface, ExpectSetRE(...string) [][]string
+pkg modules, type Handle interface, ExpectVar(string) string
+pkg modules, type Handle interface, Expectf(string, ...interface{})
+pkg modules, type Handle interface, Failed() bool
+pkg modules, type Handle interface, Pid() int
+pkg modules, type Handle interface, ReadAll() (string, error)
+pkg modules, type Handle interface, ReadLine() string
+pkg modules, type Handle interface, SetVerbosity(bool)
+pkg modules, type Handle interface, Shutdown(io.Writer, io.Writer) error
+pkg modules, type Handle interface, Stderr() io.Reader
+pkg modules, type Handle interface, Stdin() io.Writer
+pkg modules, type Handle interface, Stdout() io.Reader
+pkg modules, type Main func(stdin io.Reader, stdout, stderr io.Writer, env map[string]string, args ...string) error
+pkg modules, type Shell struct
+pkg modules, type StartOpts struct
+pkg modules, type StartOpts struct, Credentials *CustomCredentials
+pkg modules, type StartOpts struct, Error error
+pkg modules, type StartOpts struct, ExecProtocol bool
+pkg modules, type StartOpts struct, ExpectTesting expect.Testing
+pkg modules, type StartOpts struct, ExpectTimeout time.Duration
+pkg modules, type StartOpts struct, External bool
+pkg modules, type StartOpts struct, ShutdownTimeout time.Duration
+pkg modules, type StartOpts struct, StartTimeout time.Duration
+pkg modules, type StartOpts struct, Stdin io.Reader
+pkg modules, var ErrNoExecAndCustomCreds error
+pkg modules, var ErrNotRegistered error
diff --git a/test/testutil/.api b/test/testutil/.api
new file mode 100644
index 0000000..d7b0df3
--- /dev/null
+++ b/test/testutil/.api
@@ -0,0 +1,24 @@
+pkg testutil, const SeedEnv ideal-string
+pkg testutil, func CallAndRecover(func()) interface{}
+pkg testutil, func DepthToExternalCaller() int
+pkg testutil, func FormatLogLine(int, string, ...interface{}) string
+pkg testutil, func GlobName(*context.T, string, string) ([]string, []naming.GlobError, error)
+pkg testutil, func InitRandGenerator()
+pkg testutil, func Int() int
+pkg testutil, func Int63() int64
+pkg testutil, func Intn(int) int
+pkg testutil, func LeafDispatcher(interface{}, security.Authorizer) rpc.Dispatcher
+pkg testutil, func NewIDProvider(string) *IDProvider
+pkg testutil, func NewPrincipal(...string) security.Principal
+pkg testutil, func NewRandGenerator() *Random
+pkg testutil, func RandomBytes(int) []byte
+pkg testutil, method (*IDProvider) Bless(security.Principal, string, ...security.Caveat) error
+pkg testutil, method (*IDProvider) NewBlessings(security.Principal, string, ...security.Caveat) (security.Blessings, error)
+pkg testutil, method (*IDProvider) PublicKey() security.PublicKey
+pkg testutil, method (*Random) Int() int
+pkg testutil, method (*Random) Int63() int64
+pkg testutil, method (*Random) Intn(int) int
+pkg testutil, method (*Random) RandomBytes(int) []byte
+pkg testutil, type IDProvider struct
+pkg testutil, type Random struct
+pkg testutil, var Rand *Random
diff --git a/test/timekeeper/.api b/test/timekeeper/.api
new file mode 100644
index 0000000..fdc3019
--- /dev/null
+++ b/test/timekeeper/.api
@@ -0,0 +1,4 @@
+pkg timekeeper, func NewManualTime() ManualTime
+pkg timekeeper, type ManualTime interface, AdvanceTime(time.Duration)
+pkg timekeeper, type ManualTime interface, Requests() <-chan time.Duration
+pkg timekeeper, type ManualTime interface, unexported methods
diff --git a/test/v23tests/.api b/test/v23tests/.api
new file mode 100644
index 0000000..b9043c1
--- /dev/null
+++ b/test/v23tests/.api
@@ -0,0 +1,59 @@
+pkg v23tests, func Caller(int) string
+pkg v23tests, func New(TB) *T
+pkg v23tests, func RunRootMT(*T, ...string) (*Binary, *Invocation)
+pkg v23tests, func RunTest(*testing.T, func(*T))
+pkg v23tests, func UseSharedBinDir() func()
+pkg v23tests, method (*Binary) Path() string
+pkg v23tests, method (*Binary) Run(...string) string
+pkg v23tests, method (*Binary) Start(...string) *Invocation
+pkg v23tests, method (*Binary) StartOpts() modules.StartOpts
+pkg v23tests, method (*Binary) WithEnv(...string) *Binary
+pkg v23tests, method (*Binary) WithStartOpts(modules.StartOpts) *Binary
+pkg v23tests, method (*Binary) WithStdin(io.Reader) *Binary
+pkg v23tests, method (*Invocation) Environment() *T
+pkg v23tests, method (*Invocation) Exists() bool
+pkg v23tests, method (*Invocation) Kill(syscall.Signal) error
+pkg v23tests, method (*Invocation) Output() string
+pkg v23tests, method (*Invocation) Path() string
+pkg v23tests, method (*Invocation) Wait(io.Writer, io.Writer) error
+pkg v23tests, method (*Invocation) WaitOrDie(io.Writer, io.Writer)
+pkg v23tests, method (*T) BinDir() string
+pkg v23tests, method (*T) BinaryFromPath(string) *Binary
+pkg v23tests, method (*T) BuildGoPkg(string, ...string) *Binary
+pkg v23tests, method (*T) BuildV23Pkg(string, ...string) *Binary
+pkg v23tests, method (*T) Caller(int) string
+pkg v23tests, method (*T) Cleanup()
+pkg v23tests, method (*T) ClearVar(string)
+pkg v23tests, method (*T) DebugSystemShell(...string)
+pkg v23tests, method (*T) GetVar(string) (string, bool)
+pkg v23tests, method (*T) NewTempDir(string) string
+pkg v23tests, method (*T) NewTempFile() *os.File
+pkg v23tests, method (*T) Popd() string
+pkg v23tests, method (*T) Principal() security.Principal
+pkg v23tests, method (*T) Pushd(string) string
+pkg v23tests, method (*T) Run(string, ...string) string
+pkg v23tests, method (*T) RunWithOpts(modules.StartOpts, string, ...string) string
+pkg v23tests, method (*T) SetVar(string, string)
+pkg v23tests, method (*T) Shell() *modules.Shell
+pkg v23tests, method (*T) WaitFor(WaitFunc, time.Duration, time.Duration) interface{}
+pkg v23tests, method (*T) WaitForAsync(WaitFunc, time.Duration, time.Duration) interface{}
+pkg v23tests, type Binary struct
+pkg v23tests, type Invocation struct
+pkg v23tests, type Invocation struct, embedded modules.Handle
+pkg v23tests, type T struct
+pkg v23tests, type T struct, embedded TB
+pkg v23tests, type TB interface { Error, Errorf, Fail, FailNow, Failed, Fatal, Fatalf, Log, Logf, Skip, SkipNow, Skipf, Skipped }
+pkg v23tests, type TB interface, Error(...interface{})
+pkg v23tests, type TB interface, Errorf(string, ...interface{})
+pkg v23tests, type TB interface, Fail()
+pkg v23tests, type TB interface, FailNow()
+pkg v23tests, type TB interface, Failed() bool
+pkg v23tests, type TB interface, Fatal(...interface{})
+pkg v23tests, type TB interface, Fatalf(string, ...interface{})
+pkg v23tests, type TB interface, Log(...interface{})
+pkg v23tests, type TB interface, Logf(string, ...interface{})
+pkg v23tests, type TB interface, Skip(...interface{})
+pkg v23tests, type TB interface, SkipNow()
+pkg v23tests, type TB interface, Skipf(string, ...interface{})
+pkg v23tests, type TB interface, Skipped() bool
+pkg v23tests, type WaitFunc func() (interface{}, error)
diff --git a/test/v23tests/internal/.api b/test/v23tests/internal/.api
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/v23tests/internal/.api
